![見出し画像](https://assets.st-note.com/production/uploads/images/87110115/rectangle_large_type_2_137e16341390f92e2af753d0d04b1572.png?width=800)
Stable Diffusion Concepts Libraryに独自のファインチューニングモデルを登録する
「Stable Diffusion Concepts Library」に独自のファインチューニングモデルを登録してみたので、まとめました。
・Stable Diffusion v1.4
・Diffusers v0.3.0
登録したファインチューニングモデルは、以下で参照できます。
・<sorami-style>
@sehiraさんの絵柄をAIが似せようとがんばってるのは感じられますが、まだまだなので、パラメータチューニングできたら更新したい。
![](https://assets.st-note.com/img/1663465964082-wmc8xidSPG.png?width=800)
1. Stable Diffusion Concepts Library
「Stable Diffusion Concepts Library」は、世界中の人がファインチューニングで追加学習したStable Diffusionモデルをお手軽に試すことができるサイトです。
使い方は前回紹介したので、今回は独自のファインチューニングモデルの学習とConcepts Libraryへの登録の手順を紹介します。
2. 独自のファインチューニングモデルの学習
独自のファインチューニングモデルの学習と「Concepts Library」への登録は、以下のColabノートブックを使います。
・Textual-inversion fine-tuning for Stable Diffusion using d🧨ffusers
![](https://assets.st-note.com/img/1663461537526-usTO3KXHGh.png?width=800)
(1) 「Initial setup」のセルを実行。
![](https://assets.st-note.com/img/1663461712869-zpPt9rFElo.png?width=800)
HuggingFaceのログイン時に、学習のみはRead権限のみのトークンで大丈夫ですが、Concepts Libraryへの登録はWrite権限のトークンを指定します。Write権限のトークンがない場合は、「New Token」で生成できます。
![](https://assets.st-note.com/img/1663462271855-pJh6VaKIEc.png?width=800)
(2) 「Settings for teaching your new concept」のセルで、学習する画像 (3〜5枚) を指定して実行。
2つ目のセルで、学習する画像のURLを指定します。
![](https://assets.st-note.com/img/1663462471621-R3g9ly6cXH.png?width=800)
Googleドライブから画像ファイル ("/content/drive/My Drive/work/inputs/image0〜4.png") を直接読み込みたい場合は、次のコードを追加して実行します。
# Googleドライブのマウントと作業フォルダへの移動
from google.colab import drive
drive.mount('/content/drive')
%cd '/content/drive/My Drive/work'
# 追加画像の準備
import requests
import glob
from io import BytesIO
images = [
Image.open("./inputs/image0.png"),
Image.open("./inputs/image1.png"),
Image.open("./inputs/image2.png"),
Image.open("./inputs/image3.png"),
Image.open("./inputs/image4.png"),
]
save_path = "./my_concept"
if not os.path.exists(save_path):
os.mkdir(save_path)
[image.save(f"{save_path}/{i}.jpeg") for i, image in enumerate(images)]
image_grid(images, 1, len(images))
読み込んだ画像が表示されます。
![](https://assets.st-note.com/img/1663462674884-jk0bccEOFO.png?width=800)
(3) 「Settings for your newly created concept」のセルで、コンセプト関連の設定して実行。
・what_to_teach : オブジェクト (object) or 画風 (style)
・placeholder_token : 新しい概念を意味する新単語 (他と衝突しないように<>で囲む)
・initializer_token : 学習開始時の新しい概念の初期値となる単語
![](https://assets.st-note.com/img/1663463036321-YLlcoXnGPL.png?width=800)
(4) 「Teach the model a new concept」のセルを実行。
学習を実行します。1〜4時間かかります。
![](https://assets.st-note.com/img/1663463340786-0kziizy4MZ.png?width=800)
3. 学習済みモデルの動作確認
「Save your newly created concept to the library of concepts?」は「Concepts Library」に登録するセルなので、「Set up the pipeline」「Run the Stable Diffusion pipeline」のセルを実行して、学習済みのモデルの動作確認します。
・prompt : 生成する画像を説明するテキスト
・num_samples : 1バッチで生成する画像枚数
・num_rows : 実行するバッチ回数
![](https://assets.st-note.com/img/1663464043364-jCXyACgdA8.png?width=800)
4. 学習済みモデルのConcepts Libraryへの登録
「Save your newly created concept to the library of concepts?」のセルを実行して、学習済みモデルを「Concepts Library」に登録します。
・save_concept_to_public_library : Concepts Libraryに登録するかどうか
・name_of_your_concept : コンセプト名 (Rep IDにも使われます)
・hf_token_write : 書き込み権限のあるトークンでログインしている時は空白。 そうでない場合は、書き込み権限のあるトークンを指定。
![](https://assets.st-note.com/img/1663464586647-qDlsYGVTS9.png?width=800)
5. HuggingFaceのサイトでモデル公開
HuggingFaceのサイトにログインすると、登録したモデルが表示されます。まだPrivateで公開されていません。
公開手順は、次のとおりです。
(1) HuggingFaceのサイトにログイン。
(2) 登録した学習済みモデルを選択し、「Settings」で「Make this model public」を押す。
非公開に戻したい場合は「Make this model private」を押します。
![](https://assets.st-note.com/img/1663464834901-5iZ0tukkst.png?width=800)
(3) 「Concepts Library」のサイトで公開されていることを確認。
![](https://assets.st-note.com/img/1663465089142-qivfZ3KP3n.png?width=800)
6. 推論用のColabノートブック
「Concepts Library」の学習済みモデルを実行するには、以下の推論用のColabノートブックを利用できます。
・Stable Conceptualizer - Stable Diffusion using learned concepts
7. 関連
この記事が気に入ったらサポートをしてみませんか?