【Stable Diffusion】簡単に自作LoRAを生成できる「Kohya’s GUI」の導入方法と使い方を紹介!

こんにちは!悠です!

 

今回は、インターネット上に存在しない自分だけのLoRAを簡単に生成することができるツール「Kohya’s GUI」の使い方について紹介していきます。

GPUのスペックが十分に高い場合は、下記の記事で紹介した「sd-webui-train-tools」や「LoRA Easy Training Scripts」よりも性能のいいLoRAを製作することが可能だと言われています。

【Stable Diffusion】超簡単にLoRAを自作できる拡張機能「sd-webui-train-tools」の使い方!
「Stable Diffusion」で、自分の好きなように学習させたLoRAをWebUI上で生成できる拡張機能「sd-webui-train-tools」の使い方についてまとめた記事です。
【Stable Diffusion】「LoRA Easy Training Scripts」を使って自分だけのLoRAを作る方法を紹介!
ローカル環境で「Stable Diffusion」で使用可能な自作LoRAを作成できる、「LoRA Easy Training Scripts」の使い方について紹介した記事です。

 

LoRAだけでなくLoConやLoHaを作ることもできますよ!

 

なお、この記事を執筆するにあたり、下の記事を参考にさせていただきました。

(3/20更新)Kohya版LoRA学習環境 簡単スタンドアローンセットアップ(※bmaltais氏の『Kohya's GUI』の導入)|niel|note
更新 4/17 ■はじめに AUTOMATIC1111 webuiのスタンドアローン化に引き続き、PythonやGiTをインストールしていなくても導入出来るKohya版LoRAの学習環境についてあれやこれやしてみました。ただ、今回はAUTOMATIC1111webui以上に技術者向けの世界なので、ある程度わかる方だけを...

 

アイキャッチ画像は「7th_Anime_v3_B」を使用しています!
スポンサーリンク
スポンサーリンク

「Kohya’s GUI」の導入

それではまず「Kohya’s GUI」を導入していきましょう。

こちらはWebUIの拡張機能ではなく独立したツールですので、別にインストールしていく必要があります。

GitHub - bmaltais/kohya_ss
Contribute to bmaltais/kohya_ss development by creating an account on GitHub.

 

まず任意の場所にフォルダを作成し、カレントディレクトリを移動します。

私の場合はデスクトップ上に「kohya_gui」というフォルダを作ったので、コマンドプロンプトに下記のコードを入力します。

cd C:\Users\name\Desktop\kohya_gui

 

次に下記の3つのコードを順番に入力します。

git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
.\setup.bat

 

新バージョンの場合

2023年6月11日以降に上の作業を行った場合ならこちらです。
2023年6月30日時点で、setup.batを起動したときの選択肢が下画像のように変わっています。
ただ、設定方法に関しては特に大きな変更はなさそうなので、この項で紹介しているやり方の通りで大丈夫そうです。1でKohya_ssインストール後、すぐにKohya’ GUIの設定に移るようです。3のbitsandbytes-windowsは、学習の省メモリ化に使うオプティマイザーの一種っぽいですが、Optionalなのでとりあえずスルーしていいと思います(特に選択しなくても自動的に導入される可能性あり)。

setup.batを起動すると、下記のような1~5の項目が表示されます。

これを上から順に実行していきましょう。

 

まず数字の1を入力してEnterキーを押し、venv(仮想環境)内にPytorchを導入します。

Torch 2を導入するので、数字の2を入力してEnterキーを押しましょう。

 

最新版の2系torchが自動インストールされます。処理にはかなり時間がかかるので焦らないようにしましょう。

下記のようにもう一度setup menuが表示されれば項目1は完了です。

 

項目2のcudannに関しては、Aoman氏の記事でも紹介されているRTX30X0、RTX40X0専用の高速化オプションだと思います。

私のGTX1660Tiでは、下記のようなエラーが出てインストールできませんでしたのでスキップしました。

 

もし該当のGPUをお使いの方がいらっしゃいましたら、項目2を選択した際の挙動をコメント欄で教えていただけると嬉しいです!

Aoman氏の記事で紹介されている、「cudnn_windows」をkohya_ssフォルダ内にあらかじめ入れておく必要があるのかもしれません。
コメント欄でRTX40X0向けのcudnn_windows(8.7)を下記のURLからダウンロードできると教えていただきました!
https://github.com/kohya-ss/sd-scripts/issues/149

 

次に数字の3を入力してEnterキーを押し、Kohya’s GUIの設定を行っていきます。

表示される質問に対して、下記のように答えてください。なお矢印キーを使うことはできないので、キーボードまたは0~2のキーを使って選択しましょう。

  • This machine
  • No distributed training
  • Do you want to run your training on CPU only?:NO
  • Do you wish to optimize your script with torch dynamo?:NO
  • Do you want to use DeepSpeed?:NO
  • What GPU should be used~:all
  • Do you wish to use FP16 or BF16:fp16(1キーを押す)

 

内蔵GPU(Intel)+NVIDIA製GPUの場合は、What GPU should be used~はallで作動しますが、内蔵GPUがない場合(Ryzen製のCPU?)はタスクマネージャーに表示されるGPUのidを直接指定しないといけない可能性があります。もし詳しい方がいらっしゃったら、コメント欄で教えてください!

 

なおRTX30xxやRTX40xxの方はbf16の方がいいっぽいです。私は1660Tiなのでfp16にしています。

 

設定が終わったら数字の4を選択してEnterキーを押すと、Kohya’s GUIが起動します。

 

旧バージョンの場合

Torchのインストールについて質問されるので、下記の要領で答えます。

  • Do you want to uninstall previous versions of torch~?:No(2)
  • Choose the version of torch you want to install?:torch 2.0.0(2)

 

2つ目のtorchのバージョンに関しては2.0.0(2)の方がおすすめなんですが、私の環境だとここで2を選ぶとエラーでインストールが止まってしまいます。

なのでとりあえずここでは1を選択し、後から別の方法でtorchとxformersのバージョンを更新します。

torchが2.0.1になって、私の環境でも失敗しなくなりました。

 

torchのインストールが終わったらまた質問をされるので下記の要領で答えます。矢印キーを使うことはできないので、キーボードまたは0~2のキーを使って選択してください。

  • This machine
  • No distributed training
  • Do you want to run your training on CPU only?:NO
  • Do you wish to optimize your script with torch dynamo?:NO
  • Do you want to use DeepSpeed?:NO
  • What GPU should be used~:all
  • Do you wish to use FP16 or BF16:fp16(1キーを押す)

 

内蔵GPU(Intel)+NVIDIA製GPUの場合は、What GPU should be used~はallで作動しますが、内蔵GPUがない場合(Ryzen製のCPU?)はタスクマネージャーに表示されるGPUのidを直接指定しないといけない可能性があります。

 

なおRTX30xxやRTX40xxの方はbf16の方がいいっぽいです。私は1660Tiなのでfp16にしています。

 

Kohya’s GUIの起動

セットアップ完了後「Kohya’s GUI」を起動したい場合は、kohya_ssフォルダ内にある「gui.bat」をクリックし、コマンドプロンプト内にURLが表示されたらCtrlキーを押しながらクリックしましょう。

 

torchを2.0.0に手動更新する(任意)

この項は、「Choose the version of torch you want to install?:torch 2.0.0(2)」を選ぶと、エラーが出てtorchのインストールができない方向けの内容です。

この項は必須ではありませんが、torchおよびxformersを最新版に更新することで学習速度が速くなります。

セットアップの際にエラーが出て2.0.0にできなかった方は、試してみてもいいかもしれません。

 

下記の記事の要領で更新していきます。

【Stable Diffusion】xformersを最新版にアップデートして、WebUIでのイラストの生成速度を高速化する方法!
「Stable Diffusion WebUI」に最初からインストールされているxformersを最新版にアップデートして、AIイラストの生成速度を向上させる方法について紹介した記事です。

 

まずカレントディレクトリを下記の場所に移動します。

cd C:\Users\name\Desktop\kohya_gui\kohya_ss\venv\Scripts

 

下記のコマンドでtorchを2.0.0に更新します。

pip install torch==2.0.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu118

 

BadZipFileというエラーが表示される場合は、下記のコマンドを試してみてください。

BadZipFileの解決法や、torchのインストールコマンドの改善案をご存知でしたら、ぜひコメント欄で教えてください!お願いいたします!

pip install torch==2.0.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu117

 

次にxformersを下記のコマンドで更新します。

pip install -U xformers



「Kohya’s GUI」でLoRAを作るやり方

それでは、導入した「Kohya’s GUI」を使用して、LoRAを製作していきます。

実際に私がとあるゲームのキャラのLoRAを生成し、効果を反映できた場合を例にして紹介していきます。

なお、自作LoRAで生成した画像をSNSやYouTubeに公開することは大きなリスクが伴います。素材に使った画像を見て、少しでも不安を感じる場合は自分のPC内だけで楽しむようにしてください。
当然ですが、現実に存在する人物の画像を無断で学習に使い、不適切な画像を生成してSNSで公開する行為は犯罪です。絶対にしてはいけません。

 

素材画像をできるだけ多く集める

作成したいLoRAの素材となる画像を集めます。

キャラの場合はできるだけ別の表情・構図・ポーズが映っているものを選択してください。

 

画像サイズに関しては特にトリミングする必要はありませんが、512×512または1024×1024に成形しておいた方が良いと紹介している記事もあります。

ただ別にバラバラのサイズでも学習はできます。jpgとpngが混在していてもOKです。

 

余りにも解像度が低い画像を使用するのは、LoRAに悪影響を与えるのでやめましょう。

 

なお、10枚程度素材画像を用意すれば最低限のLoRAを作ることはできますが、Civitaiで人気があるレベルのものを作りたい場合は50~100枚程度用意した方が良いです。

LoRAの学習で一番重要なのは、当然ですが素材画像だと言われています。

 

また、画像の背景を切り抜いたり、白背景にした方が良いかという点に関しては諸説あります。白背景が良いという方もいれば、多少背景が混ざっておいた方が良いという方もいます。

複数枚の画像の背景を一括で白に統一したい時は、下の記事で紹介している拡張機能「sd_katanuki」を使うと楽に処理できます。

【sd_katanuki】画像の背景を一括で透明化や白背景化してくれる拡張機能の紹介!【Stable Diffusion】
「Stable Diffusion WebUI」で、複数の素材画像の背景を一括で透明化・白背景化してくれる拡張機能「sd_katanuki」について紹介した記事です。

 

今回私は素材画像を55枚集めてLoRAの学習を行いました。なお後述するバッチサイズを上げる場合は、素材画像の数をバッチ数で割り切れる数にしてください。

 

集めた画像は、「(繰り返し数)_(トリガープロンプト)」という名前のフォルダに保存してください。今回は「2_nahida」としています。

sksのようなインスタンスプロンプトを使用する必要はありません。

 

新しくkohya_ssの中に作成したimageというフォルダに、この「2_nahida」フォルダを格納しましょう。

C:\Users\name\Desktop\kohya_gui\kohya_ss\image



画像のタグを自動生成する

拡張機能「Dataset Tag Editor」を使用してタグの編集をしていきます。

導入方法に関しては下の記事をご覧ください。

【Stable Diffusion】拡張機能「Dataset Tag Editor」を使って任意の画像からプロンプトを抽出する方法!
「Stable Diffusion」で自分の好きな画像からプロンプトを抽出して、txtファイルに保存できる拡張機能「Dataset Tag Editor」の使い方を紹介した記事です。

 

WebUIを起動し、「Dataset Tag Editor」のタブを開きます。

 

Dataset directoryにタグ付けしたい素材画像を格納しているフォルダのパス、Dataset Load SettingsのタブにあるLoad from subdirectoriesLoad caption from filename if no text file existsにチェックを入れます。

Use Interrogator CaptionのOverwriteにチェックを入れ、Interrogatorから好きなものを設定します。

私はwd-v1-4-swinv2-tagger-v2を選択しました。

 

Interrogator Settingsを開き、使用したInterrogatorに応じてチェックを入れます。値は変えなくてOKです。

 

ここまで終わったらLoadボタンを押しましょう。Interrogator Settingsの下に素材画像が表示されます。

この際、自動的にタグ付けまで終わっています。

 

次に右側にある「Filter by Selection」のタブを開き、Add All Displayedをクリックした後、一番下のオレンジ色のApply selection filterを選択します。

 

最後に一番上にあるオレンジ色のSave all changesをクリックすれば完了です。

タグが記載されたtxtファイルが、素材画像と同じフォルダ内に保存されます。

 

タグを編集する

次に生成したタグを編集していきます。

txtファイルに含まれるタグの中で、学習させたいものを削除していきます。

学習させたいものを「残す」のではなく、「削除する」ので間違えないようにしてください。

 

キャラのLoRAを作る場合、基本的には表情・髪型・服装・体型などに関するタグを削除すると良いようです。

この部分に関しては下記の記事が参考になります。

キャラクター学習のタグ付け一例
LoRAでの学習時、キャプションタグを付けて学習させる事が多いと思うが、どのようにつければいいかの例を挙げる 例とするのは以下のイラスト このキャラを「zuihou」というワードで呼び出したい WD1.4taggerでタグ付け WD1.4taggerでタグ付けを行うと、次のようにタグが生成された zuihou (kan...

 

「Dataset Tag Editor」を起動します。

Dataset directoryにタグ付けしたい素材画像を格納しているフォルダのパス、Dataset Load SettingsのタブにあるLoad from subdirectoriesLoad caption from filename if no text file existsにチェックを入れます。

Use Interrogator CaptionのNoにチェックを入れ、loadボタンを押してください。

 

Batch Edit CaptionsRemoveタブを選び、下に表示されるタグから削除したいものを選択した後、Remove selected tagsをクリックしてください。

 

最後に一番上にあるオレンジ色のSave all changesをクリックすれば、選択したタグがtxtファイルの中から削除されます。

 

タグ内にトリガーワードを追記する。

txtファイル内にあるタグの先頭に、トリガーワードを追記します。

このトリガーワードを使うことで、上の項で削除した要素を呼び出せるようになります。

今回はフォルダ名にも使ったnahidaをトリガーワードにします。

 

「Dataset Tag Editor」を起動します。

Dataset directoryにタグ付けしたい素材画像を格納しているフォルダのパス、Dataset Load SettingsのタブにあるLoad from subdirectoriesLoad caption from filename if no text file existsにチェックを入れます。

Use Interrogator CaptionのNoにチェックを入れ、loadボタンを押してください。

 

Batch Edit CaptionsSearch and Replaceタブを選び、Edit tagsにトリガーワードを入力し、Pretend additional tagsにチェックを入れた後、Apply changes to filtered imagesをクリックします。

 

最後に一番上にあるオレンジ色のSave all changesをクリックすれば、トリガーワードを全txtファイルの先頭に追記できます。



学習に使うモデルの入手

Aoman氏の記事でも言及されていましたが、既存のマージモデルでLoRAを作成すると過学習気味になるようです。

そのため、実写系ならStable Diffusion v1.5の公式モデル、アニメイラスト系ならACertainModelを使うのがおすすめです。

CivitaiのLoRAの詳細を見ても、完成度の高いものにマージモデルが使われている例はほとんどありませんでした。

 

公式モデルの方はKohya GUIのプリセットなのでダウンロードする必要はありません。

ACertainModelは下記のHugging Faceのページからダウンロードできます。

JosephusCheung/ACertainModel at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

 

【2023年6月1日追記】

最近はCivitaiで入手可能な「AnyLoRA」という名前のモデルも、LoRAの学習素材としておすすめされていることがあります。

 

Kohya GUIを起動して各種設定を行う

gui.batをクリックしてKohya’s GUIを起動します。

 

Source model

Dreambooth Loraのタブを選択し、Source modelのPretained model name or pathに素材に使うモデルデータのパスを入力します。

2023年9月4日現在、Dreambooth Loraのタブ名が単なるLoRAに変更されていました。

 

自分で用意したモデルを使用する場合は、Model Quick Pickをcustom、公式モデルを使う場合はrunwayml/stable-diffusion-v1-5にします。

Save trained model asはsafetensorsにします。

 

sd2.0系でLoRAを作ってしまうと、現在広く流通しているsd1.5系のマージモデルで使用できなくなるので注意してください。要は互換性がないということです。

 

Folders

Foldersのタブを選択し、Image folderに素材画像を保存したフォルダの1つ上の階層のフォルダのパスを入力します。

【適切】C:\Users\name\Desktop\kohya_gui\kohya_ss\image
【不適切】C:\Users\name\Desktop\kohya_gui\kohya_ss\image\2_nahida

 

Output folderに生成したLoRAを保存するフォルダを選択します。

Logging folderはお好みで。空欄でもOKです。

 

Model output nameに作成するLoRAの名前を入力します。

ここで設定した名前+safetensorsの形式でoutput folderに出力されます。

 

Training parameters

基本的には初期設定のままでOKですが、いくつか変えた方が良い場所もあります。

 

まずLoRA typeです。Standardを選択すると通常のLoRA、それ以外を選択するとLoConやLoHaを生成できます。

LoConやLoHaの方がLoRAでは再現できない部分も再現可能にし、少ないステップ数で学習できるといわれていますが、詳しくはよくわかりません(勉強中です…)

とりあえず困ったらLoRA(Standard)にしておきましょう。

 

Train batch sizeを上げるとVRAMの消費量は増えますが、学習速度が上がります。

RTX30xx以上のスペックでない限り1でいいと思います。

 

Epochに学習で使うエポック数を入力します。

(繰り返し数)×(素材画像の数)×(エポック数)が総ステップ数になります。

総ステップ数が最低で1,000、多くても4,000くらいで最初は試してみるのがおすすめです。

 

Save every N epochsに設定した数のエポックに到達したら、その時点でLoRAファイルが保存されます。

1~5あたりの数がおすすめです。

 

Caption Extensionには.txtと必ず入力してください。

 

LR Schedulerに設定したスケジューラーによって、学習率が自動的に変動します。

最適解はないと思いますが、cosineが良いような印象があります。

 

OptimizerはLoRAの品質に影響を与えるパラメーターです。

迷ったらAdamWAdamW8bit(VRAM消費量が少ない?)でいいと思います。

学習が上手くいかなかったらいろいろ変更してみてください。

 

Network Rank (Dimension)Network Alphaは、公式ガイドによるとLoRAの場合Dim=32、Alpha=1が良いそうです。

Dimの値が高いほど素材画像の線を細かく拾うのではないかと思っていますが、違うかもしれません。

もしご存知でしたらコメント欄で教えてください!

 

ただDimはどれだけ高くても128までにするべきです。

alphaは1か、Dimの半分(Dim=64、alpha=32など)がおすすめされます。

 

最後にアニメ系のイラストを素材に使う場合は、Advanced Configurationを開き、Clip skipを2に変更しておきましょう。

実写系の場合は1と2を両方試していい方を採用します。



GTX1660Tiを使う場合の注意事項

GTX1660Tiを使用している場合は、Mixed precisionNoにしてください。そうしないと学習ができません。

 

 

CUDA out of memory が表示される場合

Max resolutionを初期の512×512よりも小さくすることで、VRAM消費量をかなり抑えることができます。

例えば384×384にするなどですね。

ただ学習に悪影響を与えてしまうため、推奨はできません。

 

また、Advanced Configurationの中にあるGradient checkpointingにチェックを入れることで、学習速度と引き換えに、大幅にVRAM消費量を節約することができるそうです。

 

学習を実行しよう!

ここまで準備ができたら、一番上にあるConfiguration fileを開き、Save asボタンで設定項目をjsonファイルに保存しましょう。

これを忘れると再度学習する際にすべて1からやり直さないといけなくなります。

 

最後に一番下にあるオレンジ色のTrain modelのボタンを押せば、学習が開始されます。

 

LoRAを生成できたらいつも通りWebUIを起動し、プロンプト内で下記の要領で使用してみてください。

,,,トリガーワード,<lora:lora_name:1.0>,,,

 

トリガーワードを使うのを忘れないようにしてくださいね!

 

まとめ

以上が、インターネット上に存在しない自分だけのLoRAを簡単に生成することができるツール「Kohya’s GUI」の使い方でした。

2023年5月時点で、自作LoRAを作る際に最もおすすめされているツールなので、「sd-webui-train-tools」や「LoRA Easy Training Scripts」で上手くいかなかった方も、ぜひもう一度試してみてくださいね!

 

では、ここまで読んでいただきありがとうございました。

コメント

  1. サザエ より:

    悠さんこちらの記事ありがとうございます!
    ついにエラーなく制作することができましたorz
    最初は学習数が少なすぎて良いのがでなかったのですが学習数をあげたらクオリティーがあがりました

    一回出したLORAデータに学習数を上書きしていく方法もあるのでしょうか
    それか学習数を上げて再度LORAデータで出したほうが良さそうですかね

    • 悠 より:

      コメントありがとうございます!

      おお!学習成功出来て良かったです!!
      確か1度出力したloraを元に追加学習させる方法はあったと思います。

      ただ試せてないので、分かりましたら追記します!

      Rtx3060クラス以上のgpuなら、バッチ数を3とかにして回せば2000ステップでも結構早い可能性があるので、ぜひこちらも試してみてください!
      私と同じ古めのgpuならバッチ数は1がいいですが…

      後loconやlohaにすると少ないステップ数でも、綺麗に学習できるらしいです。

  2. トオリスガリ より:

    こんにちは

    いつもお世話になっております。

    この方法で出力した学習データの大きさはどれくらいになりますか? GBとか巨大になりませんか?

    • 悠 より:

      コメントありがとうございます!

      出力したloraのサイズは大きくても100MB~200MB程度ですよ!

      1GBレベルになることはありませんのでご安心ください!

  3. おみ より:

    いつも参考にさせていただいております。
    学習が終了し、いざ出てきたファイルをwebuiにて使おうとすると全く反映されていないようです(タグ、トリガーワードをつけても元のモデルの絵が出力される)。
    webuiの拡張機能では作製できたのですが…

    • 悠 より:

      コメントありがとうございます!

      お使いのGPUが16X0だったりしませんか?その場合はMixed precisionをNoにする必要があります。
      それ以外には、xformersが0.016だと学習しないバグあると聞いたことがあります。

      他には学習ステップ数が少なすぎるなども考えられるかもしれません。ステップ数はいくつに設定されていますか?
      学習率などのパラメータは初期から変更されました?

      また作ったLoRAの比重を例えば10や20にして試しても一切効果が反映されませんでしょうか?

  4. おみ より:

    ありがとうございます!その辺いろいろ試してみます!

  5. よし より:

    こんにちわ!

    ACertainModeをダウンロードした後はどこのファイルに格納するのでしょうか?

    • 悠 より:

      コメントありがとうございます!

      どこのフォルダに格納しても、そのパスを入力すれば使えますよ!
      迷ったらいつもモデルを格納するwebui/models/Stable-diffusionでいいと思います!

  6. たか より:

    いつも参考にさせて頂いております。

    Train modelを押すと

    ValluError: Less than two GPU ids were configured and tried to run on on multiple GPUs. Prease ensure at least two are specified for –gpu_ids ,on use –gpu_ids=’all’

    と出て学習できません
    設定を間違えているのでしょうか、、、
    もし分かれば対応策を教えていただけるととても助かります。

    • 悠 より:

      コメントありがとうございます!

      エラーメッセージ的に、インストール時の「What GPU should be used~:all」の場所が問題なのかもしれませんね。
      GPUを1台しか搭載していないPCではallでいいようなのですが、もしかしてPCに複数のGPUを搭載されていたりしますでしょうか?

      • たか より:

        返信ありがとうございます。

        使っているGPUは1660super
        cpuもRyzen5 3500X なので内臓グラフィックもないと思うので
        恐らく1台しか搭載していないのですが、、、;;

        • 悠 より:

          エラーメッセージによると「allを使う場合は少なくとも2つ以上のGPUが必要」とのことなので、内蔵グラフィックがない場合は直接そのGPUを指定しないといけないのかもしれません。
          私の場合はIntelの内蔵グラフィック+GTX1660Tiなのでallで上手くいった可能性があります。

          タスクマネージャーを開いた時にGPU0 (1)みたいに表示されていると思うので、その番号を「What GPU should be used~:all」の場所に入れると改善させる気がします。

          ただ探しては見たんですが、この項目をどこで再設定し直せるのかちょっと見当たらないんですよね。
          かなり面倒ですがsetup.batをもう一度起動して設定し直す必要があるかもしれません。

          • たか より:

            ありがとうございます!

            そこはアドバイス通りにしたら解決した?かもしれないのですが、
            今度は
            torch.distributed.elastic.multiprocessing.errors.ChildFailedError
            というのが出るようになってしまいました、、、

            こちらも解決策はありますでしょうか?

          • 悠 より:

            https://github.com/bmaltais/kohya_ss/issues?q=is%3Aissue+is%3Aopen+ChildFailedError

            ↑同じようなエラーが発生しているissueなんですが、GPU関連の設定がやはりうまくいっていないのかも?
            面倒かと思いますが、一度フォルダを削除して1からkohya guiを再インストールした方が良いのかもしれません。

  7. 匿名 より:

    お世話になっております。
    LoRaを生成する段階ですが、以下のエラーが発生し、LoRaが生成されません。
    お手数ですが解決案をご教示いただけないでしょうか。
    FileNotFoundError: Could not find module ‘C:\Users\\kohya_ss\venv\lib\site-packages\bitsandbytes\libbitsandbytes_cuda116.dll’ (or one of its dependencies). Try using the full path with constructor syntax.

    • 悠 より:

      コメントありがとうございます!

      下記のGithubのissueでほぼ同じ問題が報告されていました。
      https://github.com/TimDettmers/bitsandbytes/issues/161

      これによると、下記の2つの方法でエラーが解消されたそうです。
      ・Pythonを再インストールする
      ・AdamW8bitを使っている場合はAdamWに変え、更にGradient checkpointingとMemory efficient attentionにチェックを入れる

      Pythonの再インストールは面倒だと思うので、まずは下の方から試してみてはいかがでしょうか?
      ちなみにPythonのバージョンはいくつでしょうか?私はpython3.10.6で特にエラーは生じませんでした。

      • 匿名 より:

        返信ありがとうございます!
        トライが遅くなりましたが、記載いただいた内容で学習に進むことはできました。
        が、やはり学習速度が遅くなりました・・・・
        (トータル37000ステップで単純計算で300時間ほどかかります・・)
        2070superですがVRAM 8GBなのがネックみたいですね笑
        Pythonは3.10.6です。

        • 悠 より:

          37000ステップ!?それは多すぎる気がします!

          キャラ系のLoRAなら2000~3000が目安といわれているので、その1/10で十分だと思いますよ!
          でもそれでも30時間というのはあまりに遅い気がします。私の1660Ti(VRAM6GB)でも1000ステップ1時間から1時間半だったはずです。

          Max resolutionを初期の512×512から上げていたりはしませんでしょうか?

  8. かつひこ より:

    すいません、Training parametersにLoraTypeという項目がないのですが。

    • 悠 より:

      コメントありがとうございます!

      Dreambooth Loraではなく、その左のDreamboothのタブを開いていたりはしませんでしょうか?

  9. 匿名 より:

    setup.bat を動かす辺りの挙動が今は変わってるみたいですね。
    >Torchのインストールについて質問されるので~
    の前に
    Kohya_ss GUI setup menu:
    1. Install kohya_ss gui
    2. Install cudann files
    3. Manually configure accelerate
    4. Start Kohya_ss GUI in browser
    5. Quit
    Enter your choice:
    となり、質問の項目も違う形で3のところに入ってました
    移り変わりが早い…

    • 悠 より:

      コメントありがとうございます!

      セットアップ関係変わってしまっていたとは!仰る通り本当に移り変わりが早い…!
      後でもう一度試して、記事を更新しておきます!情報感謝致します!

      【追記】
      最新版の導入を1から試してみてるんですが、何故かこっちだとpytorchをDLできません(涙)
      少し更新するの時間かかるかも…申し訳ありません!

      【追記2】少し時間をおいたらなぜかtorchのインストールに成功できたので、記事を更新しておきました!

  10. 通りすがり より:

    cuDNNオプションについてですが、NVIDIAだと、cuDNNのバージョンがAmpereだとcuDNN 8.xでTuringだと7.5が対応してて、torchに組み込まれているバージョンが古いので新しいの入れると早くなるよってことかな?
    って漠然と考えていたのですが、ちがうのかな??

    • 悠 より:

      コメントありがとうございます!

      私のGPUが対応していないため推測がかなり入りますが、cudnn8.7.0(cudnn8.x~)に置き換えるとWebUIでも高速化できると聞いていたので、通りすがりさんのおっしゃる通りかと思っています。

      cudnn_windowsをkohya_ssフォルダ内に入れておくことで、そのために必要なファイルを自動インストールしてくれるのではないかと考えています。

  11. 素人 より:

    LoRAを生成できたらいつも通りWebUIを起動し、プロンプト内で下記の要領で使用してみてください。

    ,,,トリガーワード,,,,

    トリガーワードを使うのを忘れないようにしてくださいね!

    ここの部分なのですが、トリガーワードはどこで指定しているのでしょうか?
    Model output name とは違いますよね?

    • 悠 より:

      コメントありがとうございます!

      トリガーワードは、この記事の「タグ内にトリガーワードを追記する」で説明している、各タグのtxtファイルの先頭に記載した単語です!

      その単語をポジティブプロンプト欄で一緒に使う必要があります!

      • 素人 より:

        ああ、すみません。ちゃんと記載してありましたね。
        ということは学習させたいのを削除したあと、トリガーワードとしてまた書くんかい!みたいなことが起こるということですね。

        • 悠 より:

          学習させたいタグを削除して、その削除したタグの内容を全てトリガーワードにまとめるイメージらしいです!

          例えばblue hair, twintails, golden eyesを削除して、txtファイルの先頭にexam_girlというトリガーワードを配置した場合、exam_girl = blue hair, twintails, golden eyesになる、ということだと考えています!(間違い等あったら申し訳ありません!)

  12. 情報共有 より:

    Caption Extensionに.txtって打たないまま学習すると”画像にキャプションファイルが見つかりませんでした。これらの画像についてはキャプションなしで学習を継続します。class tokenが存在する場合はそれを使います。”って出てtxtファイルの書いたキャプションが使えなくなるみたいです

    • 悠 より:

      コメントありがとうございます!

      そこ地味に罠っぽいというか、確かデフォルトで空欄だったはずですよね…
      私も3回以上txtなしで学習させてしまいましたw

      以前はそういった警告文も出なかったので気づきにくかったんですが、警告ありなら分かりやすくて嬉しいですね!

      情報感謝いたします!!

  13. 名無しマン より:

    はじめまして!いつも参考にさせていただいております。
    Train model を押すと
    Not all images folders have proper name patterns in C:/kohya_gui/kohya_ss/image.
    Please follow the folder structure documentation found at docs\image_folder_structure.md …
    とでるのですが、何が原因か分かりますでしょうか、、

    • 悠 より:

      コメントありがとうございます!

      素材画像を格納しているフォルダの名前(下記)が間違っているような気がします!
      C:\Users\name\Desktop\kohya_gui\kohya_ss\image\2_nahida

      の部分をどのように設定されていますでしょうか?
      素材画像を格納しているフォルダのパスを教えていただいてもよろしいでしょうか?

  14. PC初心者 より:

    いきなり躓いてしまうのですが…

    PS C:\kohya_gui> git clone https://github.com/bmaltais/kohya_ss.git
    git : 用語 ‘git’ は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。
    名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください

    何が原因でしょうか?

    • 悠 より:

      コメントありがとうございます!

      おそらくgitをインストールされていないからだと思います。下記のURLからgitを導入してみて下さい。
      https://git-scm.com/

      もしかしてローカル版WebUIを未導入で、Kohya’s GUIの導入を先にされたのでしょうか?
      ローカル版WebUIの導入にはGitが必須なので、この記事の中でも省略しておりました…!

      • 匿名 より:

        ありがとうございました
        Stable Diffusionが動いている状態ならすでに導入済みのはず、という記事を読んですでに導入済みだと勘違いしていました

  15. 名無し より:

    はじめまして。いつもこちらのサイトの記事にはお世話になっております。
    質問なのですが、一つのキャラクターLora/Lycorisでそのキャラクターの衣装を複数学習して別々のトリガープロンプトで呼び出せるものをよく見かけるのですが、その作成の方法をご存知でしたら教えて頂きたいです。

    • 悠 より:

      コメントありがとうございます!

      直リンできなくて申し訳ないのですが、Civitaiの「Barbara 2in1 Lora」というLoRAの概要欄に貼ってある、Hugging Faceのページが参考になりそうなのですがいかがでしょうか?

      • 匿名 より:

        お返事ありがとうございます。教えて頂いたページの方確認してきました。
        こちらのサイトでいうと「C:\Users\name\Desktop\kohya_gui\kohya_ss\image」の中に、それぞれ別の衣装ごとのトレーニング用画像が入ったファイルを作って、素材画像のキャプションのテキストファイルにそれぞれの衣装に関連したワードを追加してトレーニングすれば良いという認識で大丈夫ですかね?

        • 悠 より:

          無事確認できてよかったです!

          私も実際に試してはいないので断言はできないのですが、該当のページを見る限りおそらく仰る通りだと思います!

          • あじ より:

            わかりました。
            とりあえず参考ページに記載のある3Dモデルのスナップショットは無しでトレーニングして試してみたいと思います!また何かわからないことがあればコメントさせていただきます。
            貴重な情報ありがとうございました!

  16. mitarashi より:

    cudannについてちょっと躓いたので情報連携を。

    こちら私の環境が4090だったので試してみました。が、
    cudnn_windowsをダウンロードをしようかと思い紹介されていたAoman氏の記事を見に行くと該当リンクは現在アクセスできず、、、(タイミング問題とかかもですが)
    そもそもリンク先のcudnnのバージョンが8.6なのですが、該当のファイルを入れても3.7に対応したdllを用意しろとエラーになり(こちらは私の環境問題かもですが)、
    NVIDIAの公式からcudnnの8.7をダウンロードしようとすると開発者としていろいろと情報の登録を求められてしまう始末。。。
    面倒くさいなぁと思っていると登録しなくても良い方法があり、kohya-ssさんがgithub上で紹介していたページからダウンロード可能でした。
    (https://github.com/kohya-ss/sd-scripts/issues/149)

    上記で8.7を落として反映することで起動することができたので役に立つかは分からないですが情報連携いたします。
    中々情報が出てこなくて小一時間探し回っていたので誰かの助けになればと。。。

    • 悠 より:

      コメントありがとうございます!

      cudnnに関しては私が試せないので、情報本当に嬉しいです!
      記事内に追記させていただきます!

      • シュウ より:

        cudnn_windowsは悠さんがこのページでリンクしているkohya_ss公式リポジトリページ下の方にある記事「Optional: CUDNN 8.6」の中の”here”というリンクからダウンロードできます。cudannファイルのインストールでのエラーcould not be foundについてはcudnn_windowsディレクトリがないというだけなのでダウンロードしたcudnn_windowsフォルダをkohya_ssフォルダに入れてから行えばインストールできると思います。GTX1660でインストールするとどうなるんでしょうね?

  17. PC初心者 より:

    おかげさまで自作loraを完成させることができたのですがいくつか質問が…

    1・複数の合計数GBのSAFETENSORSファイルが出来上がったのですが全て残しておかなければいけないのでしょうか?

    2・loraを作成する際にモデルを選びましたがこのloraを使用してイラストを出力する際は違うモデルを選ぶことはできないのでしょうか?

    3・試行錯誤を繰り返した結果、複数のstable diffusionやkohya ssをインストールしてだいぶ容量を圧迫してしまっているのですが不要になった古いstable diffusionやkohya ssはフォルダを削除するだけで大丈夫でしょうか?

    質問ばかりですみません

    • 悠 より:

      コメントありがとうございます!

      1)使いたいエポック以外のsafetensorsファイルは削除して構いませんよ!たとえば5,10,15エポックのloraファイルがあるとしたら、15以外を消しても全く問題ありません。

      2)できますよ!モデルの相性やloraの品質にもよりますが、基本どのモデルでも使えるはずです。ただアニメイラスト画像の素材で作ったloraをリアル系に適用するのは結構ムズい印象です!

      3)不要なものは削除してokですよ!本番環境を間違えて消さないようにご注意を!

      • PC初心者 より:

        ありがとうございます
        エポックの仕組みにがわかっていないのですができあがったsafetensorsは番号によってクオリティ等が違ったりするということでしょうか?
        総ステップ数を4000程度にするようにエポックを設定した結果、○○.safetensors、○○-000001~65.safetensorsまで合計66のsafetensorsがあるのですが使いたいエポックというのがわかりません
        とりあえず番号が振られていないファイルでもキャラクターの特徴は割と捉えられてはいるようなのですが

        • 悠 より:

          例えば繰り返し数が10回の場合、1エポックは10×1の10ステップ学習したものになります。
          10エポックなら10×10の100ステップ、20エポックなら10×20の200ステップです。

          番号が振られていないものは最終エポックなので、最も学習が進んだファイルになります。
          とりあえず10エポック毎に試してみて、一番効果があるものを残す感じでいいと思いますよ!

          • PC初心者 より:

            なるほどです!
            自分は繰り返し数2、素材画像33枚、60エポックで挑戦しましたので1エポック=66ステップになるんですね
            アドバイス通り、10エポック毎に出力してみます

  18. 匿名 より:

    いつもすいません。
    gui.batを起動すると、cmdが起動するのですがGUI自体が立ち上がりません。

    • 悠 より:

      コメントありがとうございます!

      立ち上がったコマンドプロンプトの中にurlが表示されていると思うので、それをctrl+左クリックするとkohyaguiが起動しますよ!

  19. 柴犬 より:

    記事大変お世話になっています。学習する段階に入っているのですがtrain modelsをおすとコマンドプロンプトに TypeError: ClusterConfig.__init__() got an unexpected keyword argument ‘tpu_env’とでてきて学習が一切進まないのですがなんの引数が悪さをしているのか分からず困っています、必要な情報あれば可能な限りお出ししますのでお力添えをお願いします

    • 悠 より:

      コメントありがとうございます!

      setup.batを進める際に、No distributed trainingを選ぶ箇所(項目3の中)でTPUを選んでいたりしませんでしょうか?
      確かTPUと表示されるのはここだけだった気がするんですよね…

      あとフォルダ内にあるupgrade.batをダブルクリックするとkohya guiがアップデートされるので、それで直る可能性もあるかもしれません。

      • 柴犬 より:

        返信ありがとうございます。確認含め再度Setupを1から行っていたのですが1→2と選択した後 
        Torch 1 is already installed in the venv. To install Torch 2 delete the venv and re-run setup.bat

        Hit any key to acknowledge.

        と出てきましてどうも最初から躓いていたということのようです。kohya_ss内にあるvenvファイルを削除しても同じ文章が出てきてしまいましてアプローチの仕方が間違っているようなのですがどうするのが正解なのかわかるのであればお手数雨ですが教えていただけないでしょうか

        • 悠 より:

          venvファイルを消してもできないのは不思議ですね…
          これはフォルダごと全消しして、再度git cloneからやり直すのが逆に楽だと思います!

          • 柴犬 より:

            再起動して無事できました。ご丁寧な返答ありがとうございました。

  20. 匿名 より:

    いつも丁寧に回答ありがとうございます。
    また質問よろしいでしょうか・・・

    gui.batをダブルクリックしてもUIが起動しません。
    setupを開いて、5.Start Kohya_ss GUI in browserを叩くと起動します。
    何故なのでしょうか・・・

    また、loraの作成は1度目は成功したのですが、
    2度目以降、Train model実行後にプロンプト画面に↓のエラーが発生します。
    CalledProcessError: Command ‘[‘D:\\app\\AI\\Stable Diffusion\\kohya_gui\\kohya_ss\\venv\\Scripts\\python.exe’,
    実際にディレクトリを見に行くと「python.exe」が無いのでそのせいなのでしょうが、
    削除はしていないハズなのでこのファイルは何処へいってしまったのか・・・

    • 悠 より:

      コメントありがとうございます!

      Gui.batをクリックして立ち上がったコマンドプロンプトの中にurlが表示されていると思うので、それをctrl+左クリックするとkohyaguiが起動しますよ!

      後半の方に関しては少し調べてみます!ちなみに2度目以降とは、1度loraの学習に成功して、そのまま連続でlora学習をする感じでしょうか?

      もしそうなら、1度guiを再起動して実行するとどうなりますでしょうか?

      またオプティマイザーにadam8bitやdadaptionを使っている場合は、adamwに変更するとどうなりますでしょうか?

      • 匿名 より:

        URLクリックするんですねw
        見落としていました、開けました!

        guiは再起動してやっていました!
        オプティマイザーをadamwにしましたが、同じく「CalledProcessError: Command ‘[‘D:\\app\\AI\\Stable Diffusion\\kohya_gui\\kohya_ss\\venv\\Scripts\\python.exe’,」のエラーでした。

        • 悠 より:

          LoRAの生成に1度目は成功して、2回目は失敗するということから、この2回目に至るまでに変更した設定が一番怪しいと思うのですが、何か思い当たる点はありませんでしょうか?

          もし1回目の設定jsonファイルを保存している場合、それを使って学習してもエラーが発生しますでしょうか?

          また、Advanced Configurationの中にあるMemory efficient attentionにチェックを入れるとどうなりますでしょうか?

          • 匿名 より:

            申し訳ないです!
            学習用のファイルで破損している物がありました、プロンプトの途中でエラーしてるの見つけて気づきました・・・
            対象の画像削除したら学習できました!お騒がせしました!

          • 悠 より:

            おお!おめでとうございます!
            無事に解決できて何よりです!

  21. もぐ より:

    悠さん記事をありがとうございます。
    2週間ほどインストールが難航しているため助言をいただけないでしょうか?

    事象としてはgui.batでの起動でエラーが発生しており、下記のようなエラーがでている状態です。
    グラボはGTX3060です。
    kohyaSSフォルダを全消ししてやりなおしても同じエラーが発生するのですが、
    高速化オプションのcuDNNの適用あたりでうまくいってないのでしょうか・・?
    (venvフォルダ内が仮想環境になっているとのことだったので、その中のcuDNNのバージョンがおかしくなっている??)
    アドバイスいただけますと幸いです。

    09:26:06-478076 INFO Version: v21.7.16
    09:26:06-482100 INFO nVidia toolkit detected
    09:26:07-716818 INFO Torch 2.0.1+cu118
    09:26:07-731005 ERROR Could not load torch: cuDNN version incompatibility: PyTorch was compiled against (8, 7, 0)
    but found runtime version (8, 6, 0). PyTorch already comes bundled with cuDNN. One option to
    resolving this error is to ensure PyTorch can find the bundled cuDNN.

    • 悠 より:

      コメントありがとうございます!
      「cudnnの8.6.0ではなく8.7.0を使って」とエラーで言及されていますね。

      https://developer.nvidia.com/rdp/cudnn-archive
      上のページ内にあるv8.7.0 for cuda11.xを利用するとどうなりますでしょうか?

      • もぐ より:

        ご返信ありがとうございます。
        再インストールして、高速化オプションを入れなければ起動できました!
        一旦高速化は諦めて運用してみますが、欲がでてきたらv8.7.0を入れてみようと思います。

  22. ふれんどりっち より:

    今はsetup.batを起動したらbitsandbytes-windowsが追加されてメニューが

    Kohya_ss GUI setup menu:

    1. Install kohya_ss gui
    2. (Optional) Install cudann files
    3. (Optional) Install bitsandbytes-windows
    4. (Optional) Manually configure accelerate
    5. (Optional) Start Kohya_ss GUI in browser
    6. Quit

    Enter your choice:
    となってますね
    で、1を選んでTorch 2をインストールしたらメニューが出るのではなくいきなりKohya’s GUIの設定に進みました
    設定が終わったらcudnn_windowsをkohya_ssに放り込んでから2を選んだら
    Copied CUDNN 8.6 files to destinationと出たんで成功してるようですが中身は設定終わった段階で
    \venv\Lib\site-packages\torch\libにあるのとファイルサイズが同じなのでなんでメニューに出てるのか疑問ですね
    bitsandbytes-windowsも最初に入ってるようだし

    • 悠 より:

      お久しぶりです!コメントありがとうございます!

      また変わったんですか!移り変わりが速いなあ…
      でも (Optional) と表記されているし、Install後すぐにkohya guiの設定に移るなら、逆に迷うポイントが減っていいのかな…?
      「Install bitsandbytes-windows」とか初耳すぎますw

      折を見てまた更新しておきます!情報感謝です!

  23. yakumo より:

    初めまして、記事を参考にさせてもらいました。
    Train modelを押して学習を実行すると下記のエラーが出てしまいます。
    知恵をおかしいただけますでしょうか。

    CalledProcessError: Command ‘[‘E:\\kohya_gui\\kohya_ss\\venv\\Scripts\\python.exe’, ‘train_network.py’,
    ‘–enable_bucket’,
    ‘–pretrained_model_name_or_path=E:/train/stable-diffusion-webui/models/Stable-diffusion/anyloraCheckpoint_bakedvaeBless
    edFp16.safetensors’, ‘–train_data_dir=E:\\kohya_gui\\kohya_ss\\image’, ‘–resolution=512,1024’,
    ‘–output_dir=E:\\kohya_gui\\kohya_ss\\output’, ‘–network_alpha=1’, ‘–save_model_as=safetensors’,
    ‘–network_module=networks.lora’, ‘–text_encoder_lr=5e-05’, ‘–unet_lr=0.0001’, ‘–network_dim=32’,
    ‘–output_name=tika-blunche’, ‘–lr_scheduler_num_cycles=40’, ‘–learning_rate=1e-05’, ‘–lr_scheduler=cosine’,
    ‘–lr_warmup_steps=684’, ‘–train_batch_size=1’, ‘–max_train_steps=6840’, ‘–save_every_n_epochs=4’,
    ‘–mixed_precision=fp16’, ‘–save_precision=fp16’, ‘–caption_extension=.txt’, ‘–cache_latents’,
    ‘–optimizer_type=AdamW’, ‘–max_data_loader_n_workers=0’, ‘–clip_skip=2’, ‘–bucket_reso_steps=64’, ‘–xformers’,
    ‘–bucket_no_upscale’]’ returned non-zero exit status 1.

    • 悠 より:

      コメントありがとうございます!

      そのエラー報告前にも頂いたのですが、その方の場合は学習用の素材画像の中に破損しているものがあって、それを削除したら動いたようです。
      素材画像に破損しているものはありませんでしょうか?

      • yakumo より:

        素材は特に破損していないように思えます。
        念の為、別の学習素材に代えて実行しても同じエラーが出ました。
        コマンドプロンプトを見てみるとエラーのすぐ上に下記のようなエラーも出ていました。
        関係あるでしょうか。

        E:\kohya_gui\kohya_ss\venv\lib\site-packages\accelerate\commands\launch.py:580 in
        │ simple_launcher

        │ 577 │ process.wait()
        │ 578 │ if process.returncode != 0:
        │ 579 │ │ if not args.quiet:
        │ ❱ 580 │ │ │ raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
        │ 581 │ │ else:
        │ 582 │ │ │ sys.exit(1)
        │ 583

        • 悠 より:

          以前同エラーを調べていたときに、Advanced Configurationの中にあるMemory efficient attentionにチェックを入れると直ったという方がいらっしゃったんですが、こちらはいかがでしょうか?

          あと、オプティマイザーをadamw8bitやdadaptionにしている場合は、adamwに変えると改善されたという報告も見かけました

  24. yakumo より:

    Memory efficient attentionにチェックを入れても直りませんでした。
    オプティマイザーを変更したり、他の設定を変更したりして試しましたが、やはり同じエラーがでます。
    プロンプトをさかのぼって見ると下記のエラーも出ていたのですが、関係ありますかね?

    RuntimeError: “slow_conv2d_cpu” not implemented for ‘Half’

    • 悠 より:

      関係ありそうなissueを見つけました。
      https://github.com/kohya-ss/sd-scripts/issues/481

      GPUを認識しておらずCPUで処理しようとしている、というような話が書いてありました。

      上のページにもあるように「Mixed precisionをNoにする」とどうなりますでしょうか?
      ちなみにGPUは何をお使いでしょうか?

      • yakumo より:

        Mixed precisionをNoにしたらエラーは出ず、学習が始まりました。
        ただ、ステップ数4560なのに200時間かかると出たのですが何が原因でしょうか?
        GPUはRTX3060を使ってます。

        • 悠 より:

          やはりGPUを認識していないんでしょうかね~。CPUだけで学習しようとしているから膨大に時間がかかっているような気がします。

          Do you want to run your training on CPU only?をNOにしていないとかありませんでしょうか?
          もう一度setup.batをやり直してみてほしいです!

          • yakumo より:

            kohya_guiを全削除してインストールし直したところMixed precisionをNoにせずfp16のままでもエラーが出ませんでした。
            ステップ数4560が1時間くらいでおわったので、GPUもおそらく認識されてると思います。
            しかし結局何が原因でGPUを認識していなかったのかは解りませんでした(インストール後のsetupが良かったのでしょうか?)
            色々な助言をいただきありがとうございました。

  25. 名無し より:

    解説記事ありがとうございます、初めて実践してみたのですが、どうもメモリエラー?のようなエラーが出て学習が進まなくなってしまいました。
    下記のようなエラーが表示されるのですが、この場合どのように対応すればよろしいかご教示ねがいます。
    OutOfMemoryError: CUDA out of memory. Tried to allocate 12.00 MiB (GPU 0; 8.00 GiB total capacity; 7.24 GiB already allocated; 0 bytes free; 7.36 GiB reserved in total by PyTorch) If reserved
    memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    steps: 0%|
    更に最下段では
    CalledProcessError: Command ‘[‘D:\\loratraningGUI\\kohya_ss\\venv\\Scripts\\python.exe’, ‘./train_network.py’, ‘–enable_bucket’,
    ‘–pretrained_model_name_or_path=runwayml/stable-diffusion-v1-5’, ‘–train_data_dir=D:/loratraningGUI/kohya_ss/inputimages/alumineko20230714’, ‘–resolution=512,512’,
    ‘–output_dir=D:/loratraningGUI/kohya_ss/lora_output’, ‘–network_alpha=1’, ‘–save_model_as=safetensors’, ‘–network_module=networks.lora’, ‘–text_encoder_lr=5e-05’, ‘–unet_lr=0.0001’,
    ‘–network_dim=128’, ‘–output_name=alcat_v1’, ‘–lr_scheduler_num_cycles=10’, ‘–no_half_vae’, ‘–learning_rate=0.0001’, ‘–lr_scheduler=cosine’, ‘–lr_warmup_steps=49’,
    ‘–train_batch_size=5’, ‘–max_train_steps=490’, ‘–save_every_n_epochs=5’, ‘–mixed_precision=fp16’, ‘–save_precision=fp16’, ‘–seed=1234’, ‘–caption_extension=.txt’, ‘–cache_latents’,
    ‘–optimizer_type=AdamW’, ‘–max_data_loader_n_workers=0’, ‘–clip_skip=2’, ‘–bucket_reso_steps=64’, ‘–xformers’, ‘–bucket_no_upscale’]’ returned non-zero exit status 1.
    と表示されております。

    • 悠 より:

      コメントありがとうございます!

      Advanced Configurationの中にある、Gradient checkpointingにチェックを入れてみるとどうなりますでしょうか?

      • 名無し より:

        お早いご回答ありがとうございます、ご助言いただいた内容でまた試してみたいと思います。
        結果についてまた後日ご連絡いたします。

        • 匿名 より:

          先日はありがとうございました。
          無事にLoraの作成から画像の出力までできました。

          重ねてどうもありがとうございました。

  26. さとし より:

    初めまして。とても分かりやすい記事で参考になりました。
    しかし私の環境ではエラーが出てしまいます。
    GTX 3060t 8GB、Stable Difussion Webは問題なく実行できます。

    エラー内容:
    OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 8.00 GiB total capacity; 7.18 GiB already
    allocated; 0 bytes free; 7.29 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting
    max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

    CalledProcessError: Command
    ‘[‘C:\\Users\\matuy\\stable-diffusion-webui-1.4.0\\kohya_gui\\kohya_ss\\venv\\Scripts\\python.exe’, ‘train_db.py’,
    ‘–enable_bucket’, ‘–pretrained_model_name_or_path=runwayml/stable-diffusion-v1-5’,
    ‘–train_data_dir=C:/Users/matuy/stable-diffusion-webui-1.4.0/kohya_gui/kohya_ss/image’, ‘–resolution=512,512’,
    ‘–output_dir=C:/Users/matuy/stable-diffusion-webui-1.4.0/kohya_gui/kohya_ss/output’, ‘–save_model_as=safetensors’,
    ‘–output_name=zunda’, ‘–max_data_loader_n_workers=0’, ‘–learning_rate=1e-05’, ‘–lr_scheduler=cosine’,
    ‘–lr_warmup_steps=12’, ‘–train_batch_size=1’, ‘–max_train_steps=120’, ‘–save_every_n_epochs=1’,
    ‘–mixed_precision=fp16’, ‘–save_precision=fp16’, ‘–caption_extension=.txt’, ‘–cache_latents’,
    ‘–optimizer_type=AdamW8bit’, ‘–max_data_loader_n_workers=0’, ‘–bucket_reso_steps=64’, ‘–mem_eff_attn’,
    ‘–gradient_checkpointing’, ‘–xformers’, ‘–bucket_no_upscale’]’ returned non-zero exit status 1.

    Advanced Configurationの中にある、Gradient checkpointingにチェック、Memory efficient attentionにチェック
    adamw8bit、adamwに変えるなど試しましたが同様のエラーでした。
    Max resolutionを256まで下げても同様でした。
    何か他に原因が考えられますでしょうか。

    • 悠 より:

      コメントありがとうございます!

      Pythonのバージョンは何を使われています?
      Python3.10.9だとvramがたりていてもメモリー不足になるという話を聞いた事があります。

      その場合は3.10.6にすると直ったそうです

  27. 筋肉肥大 より:

    初めまして。
    kohya sd-scriptsでうまくいかなかったので
    kohya’s_guiに切り替えてみましたが、躓いたので質問させていただきます。

    ■スペック
    Python 3.10.6
    Torch 2.0.1+cu118
    nVidia CUDA 11.8 cuDNN 8700
    NVIDIA GeForce GTX 1070 VRAM 8192 Arch (6, 1) Cores 15

    ■エラー(3つ)
    ERROR The following folders do not match the required pattern _:
    D:/kohya’s_gui/kohya_ss/image\sample

    Error no kernel image is available for execution on the device at line 167 in file D:\ai\tool\bitsandbytes\csrc\ops.cu

    CalledProcessError:Command ‘[“D:\\Kohya’s_GUI\\kohya_ss\\venv\\Scripts\\python.exe”, ‘train_db.py’, ‘–enable_bucket’,
    ‘–min_bucket_reso=256’, ‘–max_bucket_reso=2048’, ‘–pretrained_model_name_or_path=runwayml/stable-diffusion-v1-5’,
    “–train_data_dir=D:/kohya’s_gui/kohya_ss/image”, ‘–resolution=512,512’, “–output_dir=D:/kohya’s_gui/kohya_ss/image”,
    ‘–save_model_as=safetensors’, ‘–output_name=siromechan’, ‘–max_data_loader_n_workers=0’, ‘–learning_rate=1e-05’,
    ‘–lr_scheduler=cosine’, ‘–lr_warmup_steps=1’, ‘–train_batch_size=1’, ‘–max_train_steps=9’,
    ‘–save_every_n_epochs=1’, ‘–mixed_precision=fp16’, ‘–save_precision=fp16’, ‘–caption_extension=.txt’,
    ‘–cache_latents’, ‘–optimizer_type=AdamW8bit’, ‘–max_data_loader_n_workers=0’, ‘–clip_skip=2’,
    ‘–bucket_reso_steps=64’, ‘–xformers’, ‘–bucket_no_upscale’]’ returned non-zero exit status 1.
    上記の3つのエラーが出ます。

    ■試したこと
    Error no kernel以外の既にアドバイスされていたものを試しましたが変わりませんでした。
    kohya’sGUIを再起動、cuda11.8の再インストールなども試しました。

    imageフォルダ、その下の階層の2_nahidaフォルダ、sampleフォルダに
    画像(2_nahida.jpg)・txt(2_nahida.txt)を入れて
    どこか一つは当たるだろうとやってみましたが変わりませんでした。

    カーネルイメージとあるのでそもそも性能が足りていないのか?
    参照しているフォルダや、Dドライブを使っているのが悪いのか?
    成功の一歩手前の気がしているのですが
    「何が足りないのか」が分からないのでお力を借りたいです。

  28. 匿名 より:

    解説ありがとうございました。最近使い始めたのですが、作成方法がそれぞれDreamboothとLoraという名称のタブに変更されてるみたいで自分の場合は気づくまで、2G以上のファイルを大量に作り続けてました。もしかしたら他の人もそこを間違える場合がある気がします。

  29. 初心者まん より:

    いつも拝見させていただいております!
    初心者でもわかりやすくて本当に有難く何度も参考にさせていただいております。

    こちらの記事の手順を何度も試してインストールをしているのですが、Kohya_ssGUIが起動しても、「dreambooth lora」タブが表示されません。。

    これはPCのスペックやメモリ不足の問題なのでしょうか・・・?

    ご助言いただけますと嬉しいです、よろしくお願い申し上げます。

    • 悠 より:

      こんばんはです!

      どこかのアップデートでdreambooth loraタブの名前がLoRAに変わっているようです!
      以前のdreambooth loraだと単なるdreamboothと間違える方が多かったようなので、これはいいアプデですね!

      • 初心者まん より:

        早々にお返事くださりありがとうございます!!
        そうだったのですね…!!存じ上げず失礼いたしました、、

        LoRAタブは無事ありましたので、そちらで作成してみます!
        これからも参考にさせていただきます。よろしくお願いいたしますm(__)m

  30. 匿名 より:

    こんにちは!いつも参考にさせていただいております。
    Source model のところなのですが、アニメ系を作りたいのでACertainModelを選択するのですが、エラー吐いてしまいます。
    試しにstable-diffusion-v1-5を使用したところうまくいきました。
    保存場所が決まっているとかでしょうか・・・?

    • 悠 より:

      こんにちはです!

      ・Source modelに貼り付けるパスが間違っている
      ・ACertainModelを保存しているフォルダ名に日本語や特殊記号を使っている
      というようなことはありませんでしょうか?

  31. 匿名 より:

    いつも拝見させていただいております。今年6月よりPCを新調しAIイラストに本格的に挑戦しておりますが当方の調べが悪く買ったグラボがRadeonのRX6700XTを購入してしまい後で非対応と聞いてショックでしたが現在はRadeonでもAIイラストが対応しているStable Diffusionを使い満足しております。512×512で12秒ほどで作成できて色々なイラストを作っておりましたが問題がやはりLORAの学習についてです。色々2週間ほどをかてけ色々なサイトやYouTubeなども見ながら設定し挑戦していますがどうにもエラーばかり最後は吐いてうまくできません。成功してLORAが出来たと思いフォルダーを開くとJSONファイル形式で4KBのファイルがポツンとあるだけです。こちらはKohya’s GUI、sd-scripts、でやっても成功と思ったらやはり駄目なようです。話が長々と脱線しておりますが最終的にRadeonでは現状LORAのファイルの作成は無理と言う事なのでしょうか?

    • 悠 より:

      こんにちは!

      AMD製のGPUを購入されてしまったんですね~。
      仰る通りAMD製のGPUでもWebUIは使えますが、LoRAは厳しいようです。

      RadeonでKohya GUIを使ってLoraを生成できたという報告もなくはないようでしたが、基本的には様々なエラーを自己解決しないといけなそうです(情報もめっちゃ少ないです…)。

      • 匿名 より:

        ご回答ありがとうございます。やはりLoRA作成は厳しいのですかね。初めて自作パソコンを作りテンションが上がっておりグラボであれば最初RTXの3060の12Gの購入考えていましたが性能表を見ていたらRX6700XTの方が性能が良いと記載されておりそれならAIの方も問題なく行けるのではと思い買ってしまいました。丁度買った時がStable DiffusionがRadeonに対応したと言うのが流れてきた時だったので良かったですが・・・

        質問なのですが

        https://mkb-toolbox.hateblo.jp/entry/2023/03/26/185217

        こちらのサイト様の方でRadeonにも対応出来ると記載されていますが書かれていることがちんぷんかんぷんで詰んでいます。

        • 悠 より:

          その記事の方、コメント欄を用意してくださっているので、そこでご質問されてみるのが一番いいのではないかと思います!

  32. 匿名 より:

    初めまして。いつも参考にさせて頂いています。
    いくつか質問なのですが
    ・最後の「Train model」というボタンが無く、代わりに「Start traing」というオレンジのボタンがあります。こちらで合ってますでしょうか。

    ・記事通りに進め、上記のようにボタンを押しても保存先に4KB程のJSONファイルしか生成されません。

    GTX1080tiを使用しているのでスペック不足とかでは無いような気がしますがどうでしょうか。よろしくお願い致します。

  33. サザエ より:

    お久しぶりです!
    LORAを一度制作してそのLORAをさらに追加学習させる方法ってありましたでしょうか?

    • 悠 より:

      こんにちは!

      確かそれってこのKohya GUIでもできましたよ!具体的なやり方はもうあまり覚えていないんですが…

  34. Zx より:

    初めましてこんにちは。
    こちらの記事をもとにLoRAを作成しております。
    KohyaのLoRA学習タブの設定でParameters⇒Basic⇒Optimizerを
    AdamWにしていると学習が進むのですが、
    DAdaptationに変更し学習させようとすると
    ================================================================
    [Dataset 0]
    caching latents.
    checking cache validity…
    100%|█████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:00<?, ?it/s]
    caching latents…
    100%|█████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:12 True
    CrossAttnDownBlock2D False -> True
    CrossAttnDownBlock2D False -> True
    DownBlock2D False -> True
    UNetMidBlock2DCrossAttn False -> True
    UpBlock2D False -> True
    CrossAttnUpBlock2D False -> True
    CrossAttnUpBlock2D False -> True
    CrossAttnUpBlock2D False -> True
    prepare optimizer, data loader etc.
    use Adafactor optimizer | {‘relative_step’: True}
    relative_step is true / relative_stepがtrueです
    learning rate is used as initial_lr / 指定したlearning rateはinitial_lrとして使用されます
    unet_lr and text_encoder_lr are ignored / unet_lrとtext_encoder_lrは無視されます
    use adafactor_scheduler / スケジューラにadafactor_schedulerを使用します
    Traceback (most recent call last):
    File “C:\kohya_gui\kohya_ss\train_network.py”, line 1009, in
    trainer.train(args)
    File “C:\kohya_gui\kohya_ss\train_network.py”, line 366, in train
    lr_scheduler = train_util.get_scheduler_fix(args, optimizer, accelerator.num_processes)
    File “C:\kohya_gui\kohya_ss\library\train_util.py”, line 3660, in get_scheduler_fix
    return wrap_check_needless_num_warmup_steps(transformers.optimization.AdafactorSchedule(optimizer, initial_lr))
    File “C:\kohya_gui\kohya_ss\library\train_util.py”, line 3637, in wrap_check_needless_num_warmup_steps
    raise ValueError(f”{name} does not require `num_warmup_steps`. Set None or 0.”)
    ValueError: adafactor:2e-05 does not require `num_warmup_steps`. Set None or 0.
    Traceback (most recent call last):
    File “C:\Users\[ユーザー名]\AppData\Local\Programs\Python\Python310\lib\runpy.py”, line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
    File “C:\Users\[ユーザー名]\AppData\Local\Programs\Python\Python310\lib\runpy.py”, line 86, in _run_code
    exec(code, run_globals)
    File “C:\kohya_gui\kohya_ss\venv\Scripts\accelerate.exe\__main__.py”, line 7, in
    File “C:\kohya_gui\kohya_ss\venv\lib\site-packages\accelerate\commands\accelerate_cli.py”, line 47, in main
    args.func(args)
    File “C:\kohya_gui\kohya_ss\venv\lib\site-packages\accelerate\commands\launch.py”, line 986, in launch_command
    simple_launcher(args)
    File “C:\kohya_gui\kohya_ss\venv\lib\site-packages\accelerate\commands\launch.py”, line 628, in simple_launcher
    raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
    subprocess.CalledProcessError: Command ‘[‘C:\\kohya_gui\\kohya_ss\\venv\\Scripts\\python.exe’, ‘./train_network.py’, ‘ …(これ以降にもコマンドが続いていますがローカル環境上のパスだったり学習させようとしているものの名称が書いてあるので記載していません。)
    ================================================================
    と表示され学習が途中で失敗となってしまいます。
    他の方々のコメントでも「CalledProcessError」のキーワードで検索ヒットしたので
    なぜDAdaptationで学習できないのかお分かりになりますか?