表題の通りです。
kohya_ss(Kohya's GUI)に関しては以前LoRA作成記事をいくつか書いてきたんですが、現状では内容が古くなってしまい、うまく設定できなかったりするんじゃないかと思いました。
Kohya_ss というのは Kohya Teck さんが公開なさっている、Stable Diffusionの学習、画像生成スクリプトです。
そして、それをWebUI形式のブラウザから簡単に操作できるようにしたのが、bmaltais さんが公開している Kohya's GUI です。
https://github.com/bmaltais/kohya_ss
少し前のアップデートから Stability Matrix から kohya_ss がインストールできるようになったという事ですが、実際はこの Kohya's GUI の方でのインストールになっています。
今回はそのインストール方法と基本的な解説をします。
また、メンバーシップ向けの解説部分では設定ファイルのダウンロードやLoRAを作成、そして実際にイラストが作成できるまでのメイキングを行います。
それでは、やっていきましょう。
kohya_ssをインストールする
表題通り、Stability Matrix を使ってインストールします。
簡単に言うと、様々な Stable Diffusion の様々な生成アプリを簡単にインストールできたり、モデルなどを共用できたりする インストーラー 兼 管理アプリ ですね。
Stability Matrix の最新リリースページ
Stability Matrix の解説やインストールに関しては以前の記事 ↑ をご覧頂くとして、Kohya_ss のお話を進めます。
画面左のタブ、ダンボールアイコンの「Packages」を開きます。
中央に出たウィンドウの右側のスクロールを滑らせ、「Kohya_ss By bmaltais」を選択し、緑色の「インストール」ボタンを押しましょう。
インストールが無事完了しましたら、実際に起動してみましょう。
画面左のロケットアイコンの「Launch」タブを開きましょう。
画面上部のプルダウンから Kohya_ss を選択し、緑色の「Launch」ボタンを押します。
画面はそのままで、本来ならコマンドプロンプトで流れていたような内容が Stability Matrix 内で表示されます。
実際ならもっと長い文章がでてくるのですが、Stability Matrix ではかなりあっさりしたものです。
表示された URL を Ctrl+クリックするか、画面下部の「Web UIを開く」ボタンからブラウザの画面を開くことができます。
以前まではここまで来るのにかなり面倒な設定をしたり、罠みたいな設問に答えたりしたものですが、簡単にたどり着くことができました。
LoRAタブ画面の解説
まず先に、私なんかよりもよっぽど詳しい解説をしてくださっているページをご紹介しておきます。
私の解説も、基本的にはこちらのページの情報を参照して書かれてますので、あしからず。
今回の私の記事の内容で、もっと詳しいことが知りたいと思った時は是非こちらのページでご確認ください。
私はわかりやすさ、手軽さでやっていきます。
では、ここからは LoRAタブ の Traning 画面に関する内容と、Utilitiesタブ の一部をピックアップして解説していきます。
・Configuration file は設定のデータセーブの場所
プルダウンをクリックすると、このような画面になります。
ここでは、LoRA学習用に設定した内容を .jsonファイル形式で保存しておくことができるため、次回また同じ設定で学習したい場合に設定を使いまわすことができます。
ゲームで言うところの、データセーブですね。
画面下部には「Source model」「Folders」「Parameters」「Dataset Preparation」といったタブがありますが、このあたりで設定した内容を丸っと保存しておけます。
保存場所は、\Packages\kohya_ss\presets\lora\user_presets をお勧めします。
実は \Packages\kohya_ss\presets\lora にはプリセットとして25個も .json という設定ファイルが保存されています。
そして、user_presets フォルダも最初から置いてありますので、そこに保存することで後述する Presets という設定項目でも選択できるようになります。
・Source model タブはLoRAを作る際に基準とするモデルを選択
LoRA は絵を描く際の追加資料である、という話は以前したことがあるのですが、追加ということは、ベースとなる資料(モデル)があってこそなわけで。
つまり、ベースをどういうモデルにするかを決めておかないと、最適な追加資料というものは出来ないんですね。
たまに、Civitai なんかで拾ってきた LoRA が、「うちのモデルだとあんまり効かない気がするんだけどなぁ」 という時は、その LoRA を作ったときのベースモデル と 現在ご自身が使おうとしているモデルとの差異がありすぎて、追加資料としての体を為さない場合だったりもします。
まぁつまり、基準点とするモデルをここで決めておこうや、という話です。
v2 , v_parameterization , SDXL Model のチェックに関しては以下の画像の通りです。
・ベースモデルが未だ根強い SD1.5 ならチェックはしなくて良い
・ベースモデルが SD2.0系統なら「v2」にチェック
・v-parameterization は SD2.0系の亜種。使うなら「v2」も同時にチェック
・SDXLをベースにするなら 「SDXL Model」 にチェック
まぁ、ほとんどは1.5 か SDXL のどちらかでしょう。
SD2.0 は中途半端だったのと、1.5がまだまだ燃え盛る時期だったので認知もあまりされてなかった印象です。
そのため、SDXLはインパクトのために名前を変えたとさえ言われてますね。
・Folders タブは学習画像の場所とLoRA出力先の指定
こちらも画像の通りです。
なんか、「教師画像フォルダのあるフォルダ」なんて書くと『頭痛が痛い』みたいなことになってそうなところがありますが、まぁ実際こうなのでなんとも。
詳しくはデータファイルの配布部分で私のフォルダ構成と一緒に図解するので、気になる方はそちらをどうぞ。
・Parameters タブは詳細設定
まず最初に、素人が下手に触るくらいならプリセット使え、が正解だと思います。
Configuration file の項でも述べましたが、現在
\Packages\kohya_ss\presets\lora に25個ものプリセットが格納されています。
下手に数値をいじると破綻する可能性もありますので、わからないならプリセットを丸っと使わせてもらいましょう。
- Basic タブ を丸っと画像で解説
UIは LoRA Type によって内容が変化します。
当初は画像のみで解説のつもりでしたが、文字で検索ジャンプできた方が便利かもしれないので、一応内容も文字で抜き出していきます。
ブラウザの横サイズによってUIの並びが変化しますので注意してください。
Basic
最下部分は選択している LoRA Type によって内容が変化するようです。
- Advanced タブ を丸っと画像で解説
Advanced
Weights (※これらの設定は上級者向けです。こだわりがないなら全て空欄で構いません。)
Blocks
Conv
- Samples タブ を丸っと画像で解説
LoRAを使った画像生成がどんな感じになるのか学習途中でチェックしたい場合、ここで画像生成プロンプトを入力します。
・Dataset Preparation タブ はデータ整理
ここはトレーニングプロセスがスムーズに進むようにデータを整える場所です。
わからない人は触らなくて良いと思います。
私もわかりません!!!
だが、とりあえずUIの解説だけはしておく、デキる小鳥🐣✨
Dreambooth/LoRA Folder preparation(フォルダの整理)
Dataset Preparation
このセクションでは、データセットのセットアップを支援する Dreambooth ツールを提供します。
Dreambooth/LoRA Dataset balancing(データセットのバランス)
キャプションをつける機能の解説
後述するメイキング部分で扱うので、教師画像のキャプションを付けるための機能に関しても解説を入れておきます。
ここでは WD14 Captioning を使って解説します。
Utilities ➡ Captioning ➡ WD14 Captioning
というわけで、死ぬほど時間をかけて内容を調べながら画像に書き出してみました。
別記事では Dataset Tag Editor でのキャプション編集方法も解説してますので、そちらも参考にしていただければと思います。
教師画像が多いほど Dataset Tag Editor は便利ですよ。
それでは、ここから先はメンバーシップ向けのメイキング内容となります。
今回も prompton でご注文頂いた個人様のオリジナルキャラクターに関して、キャラLoRAを作成して再現しつつ、自分の絵柄で魅力的なイラストにしたいと思います。
また、私が実際に使っているフォルダ構成の配布や、今回制作したLoRAのプリセット設定を配布しています。
正直、ここまでの解説画像も便利だとは思うんですが、大多数の人は
「解説あっても試行錯誤が面倒くせぇ、お前の成功設定を寄こせ」
だと思うんですよね🙄