日本古典籍くずし字データセットで学習したYOLOv11xモデルをHugging Faceに公開し、Gradio Spacesでデモを作成する手順を紹介します。
概要
- モデル : YOLOv11x(くずし字検出用)
- データセット : 日本古典籍くずし字データセット
- 公開先 : Hugging Face Models + Spaces
1. Hugging Face Modelsにモデルを登録
1.1 huggingface_hubのインストール
1.2 ログイン
または Python から:
トークンは https://huggingface.co/settings/tokens から取得できます(Write権限が必要)。
1.3 モデルのアップロード
1.4 Model Card (README.md) の作成
モデルの使い方やライセンス情報を記載したREADME.mdを作成してアップロードします。
2. Hugging Face Spacesでデモを公開
2.1 Spacesの設定 (README.md)
ポイント :
sdk: gradioを指定すると、Gradioがプリインストールされるsdk_versionでバージョンを固定できる- requirements.txt に gradio を書く必要はない
2.2 requirements.txt
2.3 app.py でモデルを読み込む
Hugging Face Hubからモデルを読み込むには hf_hub_download を使用します。
2.4 Gradio 5.x の注意点
Gradio 5.x ではSSR(Server-Side Rendering)が実験的機能としてデフォルトで有効になっています。これが原因で以下のエラーが発生することがあります。
この問題を回避するには、launch() で ssr_mode=False を指定します。
3. この構成のメリット
| 項目 | メリット |
|---|---|
| モデル管理 | Models と Spaces を分離できる |
| リポジトリサイズ | Spacesに大きなモデルファイルを含めなくて良い |
| 再利用性 | 他のユーザーがモデルを簡単に利用できる |
| バージョン管理 | モデルを更新してもSpacesのコードは変更不要 |
4. 公開したリソース
- Model : https://huggingface.co/nakamura196/yolov11x-codh-char
- Spaces : https://huggingface.co/spaces/nakamura196/yolov11x-codh-char