オリジナルLoraを5ステップで作る方法 Stable Diffusion AI画像生成

前回こちらの記事でオリジナルLoraを作る際の注意点や5ステップの
簡単な説明をしました。

【無いものは作ろう】Stable Diffusion オリジナル Loraを作る方法 AI画像生成
Stable DiffusionでオリジナルのLoraを作成する方法を解説しています。数ある作り方の中で一番簡単に作れた方法をご紹介しています。

こちらの記事の続きの内容となっています。

今回は実際に5ステップでどのように作るか画像を使いながら
具体的に説明します。

作成ステップ1:Lora作成ソフトをダウンロード

GitHub - kohya-ss/sd-scripts
Contribute to kohya-ss/sd-scripts development by creating an account on GitHub.

今回ダウンロードするソフトはkohya’GUIで作者のページは
上記URLになるんですけど、

上記URLに書かれているのはコマンドプロンプトを使った
ダウンロード方法になるので、

他のソフトみたいにワンクリックでパソコンに入れる
みたいなことはできないです。

またすべて英語で書かれているのでけっこうミスが
出やすくなるかもしれないので、

内容の難しい場合はとりあえずこちらの記事に従って
進めてみてください。

まず新規フォルダを作成します。名前はなんでもいいですが
日本語を使わずに英数字にした方がいいです。

フォルダを開くと上の方のアドレスバーみたいなところの
フォルダ名箇所をクリックして、

「cmd」

と入力してください。

cmdはコマンドプロンプトのことで
cmdと入力するとコマンドプロンプトが
立ち上がります。

コマンドプロンプトは他にも開き方がありますが、
この開き方をすると、

「このフォルダに対してコマンドプロンプトを
使います」

みたいなスタートになるので今回はこの開き方
をしています。

「git clone https://github.com/bmaltais/kohya_ss.git」

コマンドプロンプトに上記をコピペして入れてエンターを押してください。

「cd kohya_ss」

と入力してエンターを押してください。

cdはコマンドプロンプトに指示をするための
前置きみたいな文字で、

新規フォルダの中に「kohya_ss」を作ってください

みたいな指示文になります。

新規フォルダの中に「kohya_ss」が作られました。

次に「setup.bat」と入力してエンターを
押してください。

「kohya_ss」の中にセットアップしてもらう
指示文になります。

setup.batを入れてエンターを押すとこの画面になるので
「1」と入力してエンターを押してください。

再度この選択肢がでるので「5」を押して
エンターを押してください。

質問をいくつかされるので答えていく形になります。

回答は以下のようにしてください。

最初の質問:「This machine」 を選択してエンター

2つ目の質問:「no」と入力してエンター

3つ目の質問:「no」と入力してエンター

4つ目の質問:「no」と入力してエンター

5つ目の質問:「all」と入力してエンター


6つ目の質問:エヌビディアの3000シリーズや4000シリーズのハイスペックな
グラボを使っている場合は「bf166」を選択してエンター、

それ以外の場合は「fp16」を選択してエンター、

再度このメニューになります。

「5」を押してエンターを押すとkyoyaGUIが立ち上がりますが、
この段階ではkyoyaGUIに学習させる準備が終わっていないので
閉じても大丈夫です。

「5」を押してエンターを押すと新しいコマンドプロンプトが
開かれてkyoyaGUIが起動します。

kyoyaGUIはこのようなstable diffusionと似た画面になります。

この画面が自動で開かれない場合は、コマンドプロンプトの
「http//127.0.0.0:7860」

箇所をコピペしてネット上に貼り付けると開くことができます。

現状kyoyaGUIに学習させる画像を準備していないので
ひとまず閉じてください。


作成ステップ2:画像を集める

次に学習させたい画像を20枚くらいネット上から集めて
ください、

その前に受け皿としてフォルダを作成

この際にステップ1で作成された「kohya_ss」
フォルダの中に新規フォルダを作成してください。

ここは「input file」といったような、ここのフォルダを
使って学習を行うというニュアンスの名前にしておくと
わかりやすいです。

次に「input file」の中にもう一つ今回作成用の新規
フォルダを作り、

その中に画像を入れていくようにしてください。

このフォルダ名は作りたいものの名前にしておくと
色々なLoraを作った際に整理がしやすくなると
思います。

inputフォルダ、その中に今回作成用のフォルダを作ったら
画像集めスタートになります。

画像集めの心構え
どのような画像を集めるかはそれぞれ自由になりますが、

・1回の作成に対して学習させる内容は1つ

これを守るようにしてください。

例えば宇宙服を学習させたい場合は、
集める画像は20枚全て宇宙服にする
必要があり、

ここに民族衣装や、迷彩服などを入れると
学習に混乱が起こります。

また白い宇宙服を作りたい場合は白い
宇宙服を20枚入れた方がよく、

他の色を混ぜるとたまに他の色が
出てくるようになってしまいます。

集める画像の条件

より学習させやすくするために
以下の条件にあう画像を集めるように
してください。

・サイズは512✖️512

・png形式かjpg形式の画像

・ぼやけてなく、できるだけ鮮明に写っているもの

・他の物や人が写り込んでいないもの

より良くするための条件

集めてくる画像はできる限り
いろんな角度や表情をしていた
方が良いものができあがりやすく
なります。

同じような画像ばかりを集めないように
するとよいかと思います。

20枚画像を集めてフォルダに入れたらステップ2は
終わりになります。


作成ステップ3:画像にキャプションをつける

集めてきた20枚の画像だと余計なものまで学習してしまうので
キャプションと呼ばれる注意書きのテキストファイルを添える
必要があります。

キャプションファイルはstable diffusionのタガーという拡張機能を
使うことで作成可能で、

編集も一括で行うことができます。

キャプションファイルの前に画像を連番に

集めてきた画像のファイル名を1から20までの連番に
する必要があるので変更しておきましょう。

1.jpg,2.jpg,・・・・20.jpgのように変更してください。

このようになればいいので、一括変更の方法を使って
変更しても大丈夫です。

タガーをstable diffusionにいれましょう

stable diffusionの拡張機能を入れる箇所に
「https://github.com/toriato/stable-diffusion-webui-wd14-tagger」

こちらを入れてタガーをインストールしてください。

インストールしたらあとは他の拡張機能と同様にApplyを押して再起動
させるとタガーのタブが追加されます。


タガーは画像からプロンプトを教えてくれる便利な拡張機能なので
すが今回は、用意した20枚の画像のプロンプトを教えてもらう
応用的な使い方をします。

20枚を一括で処理するので、「single」タブではなく
「Batch」タブに切り替えてください。

ここのinput directry箇所にフォルダのパスを入れると
一括で処理できます。

パスは20枚の入ったフォルダを右クリックして
「パスをコピー」

を押してパスを貼り付けてください。

余談:パスってなんなの?
パスはパスワードではなく「道」という意味になり、
そのフォルダまでどういう道でいけば辿り着くかを
教えるイメージになります。

パスの中には機械にしかわからない形になっているので、
パスの内容を考えても厳しいのでコピペするのが基本になります。

パスを貼り付けた後の流れ
inputの箇所にフォルダパスを入れたあとは、
下のoutputの箇所にも同じパスを貼り付けてください。

inputの箇所に入れたフォルダ情報をもとに処理が行われ、
output箇所に入れたフォルダに保存されます。

次にUse spacesの箇所にチェックを入れてください。

ここは「プロンプトとプロンプトの間にアンダーバーを入れずにスペースを使ってください」
という指示になります。

最後にAdditional tagの箇所に題名を入れる

チェックを入れた少し上に「Additional tag」と書いてある
箇所があり、

ここに作成するものの名前を入れてください、
フォルダ名にも作成する名前をつけていると思うので、

それと同じでも大丈夫です。

interrogateを押してキャプションスタート

Additional tagをつけたらオレンジ色のinterrogateを押して
キャプションをスタートさせてください。

余談ですが画像を生成するわけではないのでcreateではなく、タグ付けの意味合いのある
interrogateという単語が使われています。

フォルダをチェック
interrogateが終わると画像の横に20個のテキストファイル(.txt)が作成
されていて開くとプロンプトが書いてあると思います。

テキストファイルに書いてあるものは学習してくれません、
なので学習して欲しい内容を順番に削除していきます。

Additional tagに設定したものは先頭にきていますが
こちらは残しておき、
他の学習して欲しい単語を全て削除して、

Additional tagに設定したものと、学習と関係ない単語
がテキストファイルに書かれている状態になったら
完成です。

どれを残したらいいの?
背景とか姿勢とかそのものの特徴とは関係ないものは残して
見た目に関するものは消して学習させましょう。

完璧にわけることは難しいと思うのである程度学習させたいものと
学習させたくないものに振り分けれたら大丈夫です。

作成ステップ4: Lora作成ソフト「kohya’GUI」起動

ステップ1でダウンロードしたkohya’GUIを起動させてください。

kohya_ssのフォルダの中に「.bat」と書かれているファイルが
あると思うのでそちらをクリックすると、

コマンドプロンプトが起動してkohya’GUIの画面がネット上に
開かれるます。



タブを「Lora」に切り替えて、「Lora」の中のタブを「Folders」に
切り替えて、

inputとoutputフォルダ箇所に20枚の画像とテキストファイルが入ったフォルダを
指定します。

これはタガーのキャプション箇所でもやったようにパスを入れる形になります。



model nameの箇所に入れた通りのlora名になるのでできる限り
わかりやすい名前をつけておきましょう。



Folders設定が終わったら横のTrainingのタブに移ります。

Lora typeを「Standard」に設定してください。


batchサイズとEpoch数の箇所を設定します。 

どちらも何回学習を繰り返すかという意味になります。

「batchサイズ✖️Epoch✖️フォルダに入っている画像=2000」

くらいがいいとされています。

batchサイズを多くしすぎると学習強度が弱まるという仕様なので
Epoch数で数を稼ぐイメージになります。

画像20枚の場合とりあえず両方とも10にしておけば2000になるので
ひとまずこれで作ってみて次回以降調整していくようにすれば
良いかと思います。

Save everyの箇所は何EpochごとにLoraファイルを作るかについて
の指定になります。

Epoch数と同じにしておくと1つのLoraファイルになりますが、
途中だとどのくらいになるか把握したい場合は半分の5にすると
2つのLoraファイルが作成されます。

右側のCaption Extentionはどの形式でキャプションファイルを作った
かについての設定でテキストファイルで作成しているので、
「.txt」を選択してください。

ここはダウンロード時の質問6個目で答えたものと同じものを
入力します。

エヌビディアの3000や4000シリーズのようなハイスペックなグラボ
を使っている場合は、bf16,

それ以外の場合はfp16を選択してください。

ここまでで必須の設定は終わりあとはおまけ

Network Rankは128にするといいようです、
これはこちらの開発者がこの数字にした方が
いいと言っているのでやっておきましょう。

Train modelを押して学習スタート

設定が終わったらオレンジ色のTrain modelを押して
学習をスタートさせて完了になります。


あとはコマンドプロンプトが立ち上がって学習終了を待つ形に
なりますが、

よっぽど大量に学習させる場合でない限りすぐに
出来上がると思います。

Epoch10回目を表す10/10 の表記のあとに100%になったら
Loraが完成しています。

作成ステップ5:オリジナルLoraを使ってみる

kyoyaフォルダのoutput箇所にLoraファイルが出来上がっている
と思います。

途中過程も作成した場合は複数Loraファイルが入っている
ますが、

途中過程のものはファイル名に「0.005」のような
数字がつくので数字がないものが完成ファイルになります。

Stable Diffusionのフォルダに入れる

Stable Diffusionのmodelフォルダの中に
Loraフォルダがあるのでこの中に作成
したLoraファイルを入れたら完成になります。

あとは今まで通りStable Diffusionを起動させると
作成したLoraが使えると思うので、
ちゃんと学習内容が反映されるか試してみてください。

まとめ:やってみると簡単

オリジナルLora作成するための5ステップを説明しました。

難しそうに見えますが、初回インストールや細かい用語の
箇所がややこしく見えるだけで、

実際の作成時間は数十秒なので、慣れたら作りたいと思ったら
すぐにオリジナルLoraを作れるようになります。

今後ややこしい箇所の補足記事も投稿していくので
2024年はぜひオリジナルLora作成にチャレンジしてみて
ください。