【Stable Diffusion】超簡単にLoRAを自作できる拡張機能「sd-webui-train-tools」の使い方!

こんにちは!悠です!

 

AIイラストを作成する際、超マイナーな版権キャラやニッチな需要向けの構図を反映させたい時ってありますよね。

今回は、自分の好きなように学習させたLoRAをWebUI上で生成できる拡張機能「sd-webui-train-tools」の使い方を紹介していきます。

 

画像サイズの調整やタグ付けをする必要もなく、10枚程度の画像をドラッグアンドドロップするだけで簡単にLoRAを作ることができますよ!

自作LoRAで生成した画像をSNSにアップする場合は細心の注意を払ってください。個人的には非推奨です。あくまで自分だけで楽しむ用途として使うのがおすすめです。
実在する人物を素材にしてLoRAを作成し、それを使って生成した画像を無許可で公開することは違法です。絶対にやめておきましょう。
今回のアイキャッチ画像は「Chilled_Remix」を使って生成しています。

 

スポンサーリンク
スポンサーリンク

事前に準備しておくこと

拡張機能「sd-webui-train-tools」を使うには、次の3つの事前準備が必要になってきます。

  1. Python 3.10.6
  2. コミット「a9fed7c364061ae6efb37f797b6b522cb3cf7aa2」
  3. xformers0.0.16以外のバージョン

 

Python 3.10.6

Python3.10.6以外のバージョンだと、そもそも「Error loading script: train_tools.py」というエラーが表示されて起動しないパターンがあります。

また、Python3.10.9の場合は起動はするものの、なぜかCUDA out of memoryエラーが出て学習ができません。

 

VRAMに余裕があるRTX30xxシリーズのGPUをお使いの方から、このエラー報告を複数回いただいております。

LoRAの学習はVRAM6GBあればギリギリできるので、それ以上のGPUでメモリー不足になる場合はここが怪しいです。

 

Google Colaboratory版のWebUIを使っている方は、下の記事を参考にしてPythonのバージョンを3.10.6に変更しておいてください。

【Stable Diffusion】Python3.10.6をGoogle Colaboratoryで使用する方法【アップデート】
Google ColaboratoryでPythonのバージョンを、「Stable Diffusion」で推奨されている3.10.6にアップデートするやり方について紹介した記事です。

 

コミット「a9fed7」

コミットというのは簡単に言うとWebUIバージョンのことなんですが、これが「a9fed7c364061ae6efb37f797b6b522cb3cf7aa2」以外の場合は様々なエラーが出て起動しない可能性が高いです。

GitHub - AUTOMATIC1111/stable-diffusion-webui at a9fed7c364061ae6efb37f797b6b522cb3cf7aa2
Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

 

2023年3月14日時点のコミットです。WebUIは4月以降大規模なアップデートを数回挟んでいるため、最新版だとまず間違いなく起動しないと思います。

 

Google Colaboratory版の場合は下の記事で、

【Stable Diffusion】Colab版WebUI(AUTOMATIC1111)をダウングレードする方法を紹介!
Google Colaboratory版の「AUTOMATIC1111」を、任意のバージョンにダウングレードする方法についてまとめた記事です。

 

ローカル版の場合は下の記事で、WebUIのコミットを「a9fed7c364061ae6efb37f797b6b522cb3cf7aa2」にダウングレードするやり方を紹介しています。

【Stable Diffusion】ローカル版WebUIをアップデート・ダウングレードするやり方を紹介!
ローカル版「Stable Diffusion WebUI」で、ソフトウェアをアップデート・ダウングレードする方法についてまとめた記事です。

 

xformers0.0.16以外のバージョン

コメント欄で教えていただいた情報なんですが、xformersのバージョンが0.0.16だとLoRAを作成しても学習されないようです。

下記の記事の方法でxformersのバージョンを更新することができますので、0.0.16の方は最新バージョンにアップデートしておいてください。

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

 

これらを全て揃えてもエラーが出る可能性がある

上の3点を全て揃えても、意味不明なエラーで動かない旨の報告を多数いただいております。

この拡張機能の一番のおすすめポイントは設定の手軽さなんですが、下の項で紹介している「Kohya’s GUI」も現在はかなり簡単にセットアップができます。

 

ですので、一度試してみて上手くいかない場合はあまり固執せず、「Kohya’s GUI」に移行することをおすすめします。

【Stable Diffusion】簡単に自作LoRAを生成できる「Kohya's GUI」の導入方法と使い方を紹介!
インターネット上に存在しない自分だけのLoRAを簡単に作成することができるツール、「Kohya's GUI」の導入方法と使い方を詳しくまとめた記事です。

 

拡張機能「sd-webui-train-tools」の導入方法

GitHub - liasece/sd-webui-train-tools: The stable diffusion webui training aid extension helps you quickly and visually train models such as Lora.
The stable diffusion webui training aid extension helps you quickly and visually train models such as Lora. - GitHub - liasece/sd-webui-train-tools: The stable ...

 

Google Colaboratory版の場合

下記の方法で紹介している「maintained by Akaibu」のノートブックを使って、拡張機能「sd-webui-train-tools」を導入していきます。

まだご覧になっていない方は、まず最初にこちらを準備しておいてください。

【Stable Diffusion】AUTOMATIC1111のWebUIをGoogle Colaboratory上で使う方法!【maintained by Akaibu】
「Stable Diffusion」で、「AUTOMATIC1111」が用意しているノートブック「maintained by Akaibu」を使って、Google Colaboratory上で自分の好きなモデルデータやLoRAを使用する方法についてまとめた記事です。
【Stable Diffusion】AUTOMATIC1111のColab版でLoRAを使う方法について紹介!【maintained by Akaibu】
AUTOMATIC1111のColab版「maintained by Akaibu」でLoRAを使う方法についてまとめた記事です。2.5D風AIコスプレイヤーを作成できる「KoreanStyle2.5D」も紹介しています。

 

それでは拡張機能「sd-webui-train-tools」を導入していきましょう。

Google Driveからモデルデータを読み込むセルの下に新しくセルを作成し、下記のコードを入力してください。

#LoRA作成拡張機能をインストール
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/liasece/sd-webui-train-tools /content/stable-diffusion-webui/extensions/sd-webui-train-tools

%cd /content/stable-diffusion-webui

 

WebUIを起動し、「Train Tools」のタブが新たに追加されていれば導入は成功です。

 

ローカル版の場合

「Extensions」→「Install from URL」の「URL for extension’s git repository」に下記のURLを入力しInstallをクリックしましょう。

https://github.com/liasece/sd-webui-train-tools

 

 

インストール後にWebUIを再起動すると、「Train Tools」のタブが表示されているはずです。

なお、PC内にある「Stable Diffusion WebUI」のデータが入ったフォルダの場所をコピペで別の場所に移動すると、この拡張機能はエラーで動かなくなる可能性があります。
また、「Stable Diffusion WebUI」のデータが入ったフォルダを「ドキュメント」などの日本語が含まれるフォルダに保存している場合、この拡張機能はエラーで動かなくなる可能性があります。

 

拡張機能「sd-webui-train-tools」の使い方

設定例を紹介しますが、細かい部分に関しては私も試行錯誤中です。そのためここで紹介するものが最適解でない可能性もありますので、ご了承ください。

「この設定は変えた方がいい」「この説明は間違っている」等のコメントお待ちしております!

では、拡張機能「sd-webui-train-tools」を使ってLoRAを自作していきましょう。

 

まずは学習元となる画像を10枚程度用意します。もっと多くても構いませんが、学習元画像が多ければ多いほどLoRAの作成に時間がかかります。

学習元画像に関しては、特徴を覚えさせたいキャラの全身が様々な構図(ポーズ)や表情で写っているものを選んだ方がいいようです。1つの構図だけで学習させるのは推奨されていません。

画像サイズに関しては自動でリサイズされるため特にこだわる必要はありませんが、1024×1024が多くのサイトでおすすめされています。

あまりにサイズが小さすぎる画像を素材に使うのはやめましょう。

 

画像の用意が終わったらWebUIの「Train Tools」のタブを開き、「Create Project」をクリックして作成するLoRAのファイル名を設定します。

最終的に「(設定した名前).safetensors」の形式でLoRAファイルが作成されます。

 

「Create Version」をクリックしてバージョンを入力します。ここは初期のv1のままでOKです。

学習元画像を変えるたびにv2、v3と更新していけば、簡単にバージョン管理ができますね。

 

「Upload Dataset」の欄に学習元画像をドラッグアンドドロップします。

 

次にDatasetの設定ですね。私は下記の画像のように設定しています。

Train number of repetitions(繰り返し数)は10~20程度がおすすめです。この数値はLoRAを作成するのに必要な総ステップ数に影響してきますし、あまりに数を大きくし過ぎると過学習になってしまうかもしれないので、ほどほどの値にしておきましょう。

Preprocess imagesは512×512の初期設定のままで大丈夫です。Create flipped copiesのチェックは外してください。

 

次に学習元画像のタグに関する設定です。タグというのは学習元画像の内容を説明する複数の単語のことで、例えば初音ミクの画像を使う場合、「青髪」「ツインテール」のような属性をタグとして設定します。

この作業は本来事前に準備しておく必要があるんですが、use deepbooru for captionsにチェックを入れることで自動的にタグ付けをしてくれます。

ただReadmeによると作者は、「sd-webui-dateset-tag-editor」という別の拡張機能でタグ付けすることを推奨しています。これはまた別の記事でまとめています。

deepbooruは二次元イラストには強いですが、それ以外に関しては微妙なようです。

 

なお別の拡張機能で生成したタグのtxtファイルを使う場合は、画像と一緒にtxtファイルをアップロードした後、Existing Caption txt Actionをprependに設定し、use deepbooru for captionsのチェックを外せばいけそうな気がします(検証中)

もしこの拡張機能で、自分で用意したtxtファイルを使う方法をご存知でしたら、ぜひコメント欄で教えてください!

 

ここまで設定し終えたらUpdate Datasetをクリックしましょう。

datasetの処理が終わると、左側に編集された学習元画像が表示されます。

 

では、LoRAファイル作成に必要な学習の設定を行っていきましょう。私は下記のように設定しています。

 

Train base modelに学習で使うモデルデータを設定します。学習元画像の属性に合わせて決めるといいと思います。(アニメイラストが素材なら、モデルもアニメイラスト系)

なおアニメイラストを学習する場合は、「ACertainModel」というモデルデータが結構おすすめのようです。

※Anythingがおすすめという人もいれば、ChilloutMixがおすすめという人もいます。最適解はないので、いろいろ試行錯誤してみるしかないですね。

 

Clip skipはアニメイラスト系のモデルを使う場合2が推奨されています。ただリアル系の場合は1と2で試して、結果が良い方を採用するのがよさそうです。

Save every n epochsには、何エポック毎にLoRAとして保存するかを設定します。(繰り返し回数)×(学習素材の枚数)が1エポックです。個人的には5エポック毎に保存すれば十分だと思います。

Batch sizeは大きくするほとLoRAファイル生成速度が上がりますが、VRAM使用量(GPUの負荷)も増えるようです。とりあえず初期設定の1でいきましょう。

Batch sizeを2にするとモザイクのような画像しか生成されなくなったというコメントをいただきました。最初は1で試すことをおすすめします。

 

Number of epochsには、学習の総エポック数を設定します。(繰り返し回数)×(学習素材の枚数)×(エポック数)が最終的なsteps数になります。私はとりあえず最終steps数が1000~2000の間になるようエポック数を決めています。学習回数が多ければ多いほどLoRAの品質が良くなるわけではないので注意してください。

 

Learning rateNet dimAlphaはとりあえず初期値でOKです。

ただNet dimが高すぎるとガビガビな画像ができやすくなるという話を聞いたことがあります。その場合はNet dimを下げる(8、16、32、64などにする)といいかもしれません。

AlphaはNet dimの半分の値にしておいてください。

 

Optimizer typeにはいろいろな種類がありますが、AdamWや初期設定のLionを使っている人が多い印象です。Optimizerとは、素材画像をどうやってAIに学習させるかという手法のようなものです。

Mixed precisionはfp16でOKです。

 

Generate all checkpoint preview after train finishedは、LoRAが生成されるエポック毎にそのLoRAを使って画像を1枚生成してくれる機能です。個人的には必要ないと思うのでチェックは外しましょう。

LoRAの出来栄えを確認するときは、実際にWebUIで使ってみた方がわかりやすいです。

 

設定が終わったら「Begin Train」をクリックしましょう。LoRAの学習にはかなりの時間がかかります。

学習が終わったら、「stable-diffusion-webui\outputs\train_tools\project\(設定したLoRA名)\versions\(設定したバージョン名)\trains」の中にLoRAファイルが保存されます。

 

右クリックしてPCに保存し、いつも通りWebUIで使ってみましょう。



LoRAを自作する際の注意点

 

VRAM6GB未満のGPUでは厳しい

LoRAの学習にはVRAMが8GB以上のGPU、できれば12GB以上のGPU(RTX3060など)が推奨されています。

ただVRAM6GB(GTX1660Tiなど)あれば、非常に学習速度は遅いですがギリギリLoRAを作成することが可能です。

1000ステップに1時間以上かかるのでおすすめはできません。かなりストレスになると思います。

 

GPUのスペックが低い場合は、Google Colaboratoryを使って学習した方が良いと思います。

 

Colab版でR18画像を学習するのはリスクがある

Google Colaboratoryを使ってLoRAを学習する場合、素材にR18画像(二次元画像も含む)を使うとアカウントがBANされる恐れがあります。

100%確実にBANされるというわけではありませんが、一度アクセス禁止になると復旧できない可能性もあるので素材の画像は慎重に選びましょう。

 

「R18画像を素材にLoRAを作りたいけれど、低スペックGPUしかない!」という方は、GPUの買い替えを検討するしかないですね。

今最もコスパがいいのは、10万円未満ならRTX3060(VRAM12GB)、

 

10万円以上ならRTX4070Ti(VRAM12GB)らしいです。



自作LoRAを製作できるツールのおすすめ順

もし他にLoRAを自作できるツールをご存知でしたら、ぜひコメント欄で教えてください!

 

【1位】Kohya’s GUI

2023年5月時点で、ローカル環境でLoRAを自作する際に最もおすすめされているツールです。

多機能かつセットアップも簡単で、ローカル版とColab版が用意されています。

 

ローカル版の導入方法と使い方は、下の記事で詳しく紹介しています。

【Stable Diffusion】簡単に自作LoRAを生成できる「Kohya's GUI」の導入方法と使い方を紹介!
インターネット上に存在しない自分だけのLoRAを簡単に作成することができるツール、「Kohya's GUI」の導入方法と使い方を詳しくまとめた記事です。

 

Google Colaboratory版を使いたい場合は、下の動画シリーズが非常に参考になります。

 

ノートブックのバージョンがアップデートされるたびに、新しい動画を投稿して下さっています。

 

【2位】LoRA Easy Training Scripts

こちらもローカル環境で自作LoRAを生成することができるツールです。Colab版は多分存在しないと思います。

導入方法に関しては、下の記事で詳しく紹介しています。

【Stable Diffusion】「LoRA Easy Training Scripts」を使って自分だけのLoRAを作る方法を紹介!
ローカル環境で「Stable Diffusion」で使用可能な自作LoRAを作成できる、「LoRA Easy Training Scripts」の使い方について紹介した記事です。

 

上手く使えば「Kohya’s GUI」レベルの品質のLoRAを製作できますが、ポップアップ設定が難しく、バージョンが更新されるたびに設定方法が変わるため、上級者向けのツールですね。

 

【3位】sd-webui-train-tools

残念ですが、この記事で紹介している拡張機能「sd-webui-train-tools」はおすすめ度が低いです。

この記事のコメント欄の長さをご覧になっていただければわかると思いますが、あまりにもバグが多すぎます。

起動させること自体が難しいので、おすすめしにくいんですよね。

 

ただWebUI以外に別のツールを導入する必要がなくストレージを圧迫しない点と、設定方法が全ツール中一番簡単な点は優れていますね。

逆に言えば設定できる項目が少ないため、自由度が低いとも言えます。

 

【情報求ム】上手く生成できたLoRAの例

この拡張機能でLoRAを作成して、満足できる作品を製作できた方がいらっしゃいましたら、ぜひコメント欄で教えていただきたいです!

「まあまあいいのができたよ!」程度の簡単なコメントでも結構ですので、ぜひ感想をお聞かせください!お待ちしております!

繰り返し数や素材画像の枚数、エポック数を教えていただけると、泣いて喜びます!

 

参考動画1

 

「sd-webui-train-tools」を使って、素材画像10枚、繰り返し数15回、エポック数10回の総ステップ数1500回で、かなり再現性の高いLoRAを作成されていました。

上の動画を見ていると、だいたい6エポック(900ステップ)あたりでLoRAの効果が表れています。

 

私がこの前素材10枚、繰り返し数15回、エポック5回の750ステップで試してみたときも、とりあえずLoRAの効果を観測できたので、やはり1000ステップ程度は必要なのかもしれませんね。

そのLoRAはなぜか適用すると線がガビガビになるので没にしたんですが(涙)

 

まとめ

以上が「Stable Diffusion」で、自分の好きなように学習させたLoRAをWebUI上で生成できる拡張機能「sd-webui-train-tools」の使い方でした。

LoRAの作成に関してはまだまだ奥が深く、勉強しがいがあるコンテンツなので、また何かおすすめの設定方法ややり方を見つけ次第記事にしてまとめていきますね!

もしこの拡張機能を使って100%満足できるLoRAを作れた方がいらっしゃいましたら、コメント欄で教えていただけると嬉しいです!

 

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

コメント

  1. どく より:

    はじめまして、コメント失礼します。

    Upload Datasetでデータをアップするところまではできるのですが、そのあとのBegin trainの後にプロンプトの一番したにエラーと出て止まってしまいます。
    webui.batのログはかなり長いのですが、末尾は以下のようになっています。

    if not ensure_path(args[‘base_model’], ‘base_model’, {“safetensors”, “ckpt”}):
    File “D:\sd\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\Parser.py”, line 28, in ensure_path
    quit()
    File “D:\python\lib\_sitebuiltins.py”, line 26, in __call__
    raise SystemExit(code)
    SystemExit: None

    • 悠 より:

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

      Upload Datasetのオレンジ色のボタンを押した後、左側に成形された素材画像が表示されるところまでは行けたけれど、そのあとにBegin trainを押して学習を開始させるとエラーで止まってしまうということであっていますでしょうか?

      もしよろしければ、エラーメッセージの最初の方も教えていただけると助かります!だいたいエラーメッセージの頭に〇〇Errorと出ていることが多いのでぜひ!

      またプロンプトという点が気になったのですが、Generate all checkpoint preview after train finishedのチェックは外して実行されていますでしょうか?
      もし外していない場合、学習後プレビュー画像作成でエラーが出ているような気がしました。「stable-diffusion-webui\outputs\train_tools\project\~」の中にsafetensorsファイルが保存されてたりはしませんか?

      • ゆん より:

        とても参考になりました。
        初歩的な質問で申し訳ないのですが、生成したローラを使用する際のトリガーワードはどこかで設定するのでしょうか?

        • 悠 より:

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

          create projectで設定したプロジェクト名がトリガーワードになる可能性がありそうです。

          ただきちんとした設定欄が用意されていないため、あくまで推測になります。

          他のlora作成機能と比べて設定する項目が少ないんですよね(その分単純で初心者でも取っ付きやすいんですが…)

          なお私の場合、花札マークからloraの比重を指定するだけで、一定の効果があるというように感じました。

          • ゆん より:

            ご返信ありがとうございます^^
            やはりそういった設定がないんですね。
            loraの比重と自動推測されて認識されたタグを適当に入れるとトリガーワードのように動作してくれました。ありがとうございました!
            (間違えて不適切な場所にコメントをしてしまい申し訳ありません)

  2. どく より:

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

    Generate all checkpoint preview after train finishedのチェックをはずし忘れて一度始めてしまい、その次にはずしてやってみましたがどちらもエラーになりました。

    長いですが以下がチェックをはずした状態でのエラーメッセージです。

    To create a public link, set `share=True` in `launch()`.
    Startup time: 157.7s (import torch: 27.8s, import gradio: 3.4s, import ldm: 2.7s, other imports: 5.6s, setup codeformer: 0.2s, load scripts: 3.8s, load SD checkpoint: 112.6s, create ui: 1.4s, gradio launch: 0.3s).
    Train Tools: get_project_list: outputs\train_tools\projects\first
    Train Tools: get_project_version_list: outputs\train_tools\projects\first\versions\v1
    Train Tools: ui_refresh_project: [‘first’]
    Train Tools: on_ui_change_project_version_click: first v1
    Train Tools: on_ui_change_project_click: first
    Train Tools: get_project_version_list: outputs\train_tools\projects\first\versions\v1
    Exception in callback _ProactorBasePipeTransport._call_connection_lost(None)
    handle:
    Traceback (most recent call last):
    File “D:\python\lib\asyncio\events.py”, line 80, in _run
    self._context.run(self._callback, *self._args)
    File “D:\python\lib\asyncio\proactor_events.py”, line 165, in _call_connection_lost
    self._sock.shutdown(socket.SHUT_RDWR)
    ConnectionResetError: [WinError 10054] 既存の接続はリモート ホストに強制的に切断されました。
    Train Tools: on_train_begin_click {‘base_model’: ”, ‘img_folder’: ‘D:\\sd\\stable-diffusion-webui\\outputs\\train_tools\\projects\\first\\versions\\v1\\dataset\\processed’, ‘output_folder’: ‘D:\\sd\\stable-diffusion-webui\\outputs\\train_tools\\projects\\first\\versions\\v1\\trains\\-bs-1-ep-20-op-Lion-lr-0_0001-net-128-ap-64’, ‘save_json_folder’: None, ‘save_json_name’: None, ‘load_json_path’: None, ‘multi_run_folder’: None, ‘reg_img_folder’: None, ‘sample_prompts’: None, ‘change_output_name’: ‘first-v1’, ‘json_load_skip_list’: None, ‘training_comment’: None, ‘save_json_only’: False, ‘tag_occurrence_txt_file’: True, ‘sort_tag_occurrence_alphabetically’: False, ‘optimizer_type’: ‘Lion’, ‘optimizer_args’: {‘weight_decay’: ‘0.1’, ‘betas’: ‘0.9,0.99’}, ‘scheduler’: ‘cosine’, ‘cosine_restarts’: 1, ‘scheduler_power’: 1, ‘learning_rate’: 0.0001, ‘unet_lr’: None, ‘text_encoder_lr’: None, ‘warmup_lr_ratio’: None, ‘unet_only’: False, ‘net_dim’: 128, ‘alpha’: 64, ‘train_resolution’: 512, ‘height_resolution’: None, ‘batch_size’: 1, ‘clip_skip’: 1, ‘test_seed’: 23, ‘mixed_precision’: ‘bf16’, ‘save_precision’: ‘fp16’, ‘lyco’: False, ‘network_args’: None, ‘num_epochs’: 20, ‘save_every_n_epochs’: 2, ‘save_n_epoch_ratio’: None, ‘save_last_n_epochs’: None, ‘max_steps’: None, ‘sample_sampler’: None, ‘sample_every_n_steps’: None, ‘sample_every_n_epochs’: None, ‘buckets’: True, ‘min_bucket_resolution’: 320, ‘max_bucket_resolution’: 960, ‘bucket_reso_steps’: None, ‘bucket_no_upscale’: False, ‘shuffle_captions’: False, ‘keep_tokens’: None, ‘xformers’: False, ‘cache_latents’: True, ‘flip_aug’: False, ‘v2’: False, ‘v_parameterization’: False, ‘gradient_checkpointing’: False, ‘gradient_acc_steps’: None, ‘noise_offset’: None, ‘mem_eff_attn’: False, ‘lora_model_for_resume’: None, ‘save_state’: False, ‘resume’: None, ‘text_only’: False, ‘vae’: None, ‘log_dir’: None, ‘log_prefix’: None, ‘tokenizer_cache_dir’: None, ‘dataset_config’: None, ‘lowram’: False, ‘no_meta’: False, ‘color_aug’: False, ‘random_crop’: False, ‘use_8bit_adam’: False, ‘use_lion’: False, ‘caption_dropout_rate’: None, ‘caption_dropout_every_n_epochs’: None, ‘caption_tag_dropout_rate’: None, ‘prior_loss_weight’: 1, ‘max_grad_norm’: 1, ‘save_as’: ‘safetensors’, ‘caption_extension’: ‘.txt’, ‘max_clip_token_length’: 150, ‘save_last_n_epochs_state’: None, ‘num_workers’: 8, ‘persistent_workers’: True, ‘face_crop_aug_range’: None, ‘network_module’: ‘networks.lora’, ‘locon_dim’: None, ‘locon_alpha’: None, ‘locon’: False}
    Failed to find base_model, Please make sure path is correct.
    Traceback (most recent call last):
    File “D:\sd\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py”, line 394, in run_predict
    output = await app.get_blocks().process_api(
    File “D:\sd\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py”, line 1075, in process_api
    result = await self.call_function(
    File “D:\sd\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py”, line 884, in call_function
    prediction = await anyio.to_thread.run_sync(
    File “D:\sd\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py”, line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
    File “D:\sd\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py”, line 937, in run_sync_in_worker_thread
    return await future
    File “D:\sd\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py”, line 867, in run
    result = context.run(func, *args)
    File “D:\sd\stable-diffusion-webui\modules\call_queue.py”, line 56, in f
    res = list(func(*args, **kwargs))
    File “D:\sd\stable-diffusion-webui\modules\call_queue.py”, line 37, in f
    res = func(*args, **kwargs)
    File “D:\sd\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train_ui.py”, line 119, in on_train_begin_click
    train.train(cfg)
    File “D:\sd\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 58, in train
    ensure_file_paths(args)
    File “D:\sd\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 79, in ensure_file_paths
    if not ensure_path(args[‘base_model’], ‘base_model’, {“safetensors”, “ckpt”}):
    File “D:\sd\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\Parser.py”, line 28, in ensure_path
    quit()
    File “D:\python\lib\_sitebuiltins.py”, line 26, in __call__
    raise SystemExit(code)
    SystemExit: None

  3. 悠 より:

    エラーメッセージの報告ありがとうございます!

    ConnectionResetError: [WinError 10054] というものなんですね。

    とりあえず対処法を考えて見ました。
    ・この状態でtxt2imgによる普通のaiイラスト生成はできるのでしょうか?あまりに長い時間使いすぎて、colabの環境がreset(切断)されたりしていませんでしょうか?
    ・webブラウザにはchromeを使っていますでしょうか?IEを使っているとこういうバグがあるという記事を見ました。
    ・ちなみにPythonは3.10.6にされていますでしょうか?3.9では拡張機能の起動自体ができないはずなので問題ないと思いますが…

    またFailed to find base_model, Please make sure path is correctも気になったんですが、学習で使うbasemodelのパスを間違えていたり、drive内から削除したりはしていませんでしょうか?

    順番が前後して申し訳ありません。
    Exception in callback _ProactorBasePipeTransport._call_connection_lost(None)
    の部分ですが、edgeでwebuiを起動するとこういうエラーが出る可能性があるという記事を見ました。webブラウザには何を使用されていますでしょうか?

  4. どく より:

    上記の件、train base modelの欄がデフォルトでNullになっていたところを別のモデルにしてNumber of epochsの数値をいじったらエラーは吐かなくなりました。

    しかし以下のログから動かない状態です。

    [Dataset 0]
    loading image sizes.
    100%|████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 4987.87it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 10
    mean ar error (without repeats): 0.0
    prepare accelerator
    load StableDiffusion checkpoint
    loading u-net:
    loading vae:
    loading text encoder:
    [Dataset 0]
    caching latents.
    100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [00:06<00:00, 1.60it/s]
    import network module: networks.lora
    create LoRA network. base dim (rank): 128, alpha: 64.0
    create LoRA for Text Encoder: 72 modules.
    create LoRA for U-Net: 192 modules.
    enable LoRA for text encoder
    enable LoRA for U-Net
    prepare optimizer, data loader etc.
    use Lion optimizer | {'weight_decay': 0.1, 'betas': (0.9, 0.99)}
    override steps. steps for 50 epochs is / 指定エポックまでのステップ数: 500
    running training / 学習開始
    num train images * repeats / 学習画像の数×繰り返し回数: 20
    num reg images / 正則化画像の数: 0
    num batches per epoch / 1epochのバッチ数: 10
    num epochs / epoch数: 50
    batch size per device / バッチサイズ: 1
    gradient accumulation steps / 勾配を合計するステップ数 = 1
    total optimization steps / 学習ステップ数: 500
    steps: 0%| | 0/500 [00:00<?, ?it/s]epoch 1/50
    steps: 0%| | 1/500 [00:54> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    steps: 0%| | 1/500 [00:57<7:54:18, 57.03s/it, loss=0.145]

    • 悠 より:

      エラー解決出来たんですね。良かったです!

      stepsが0%で進まなくなる現象は私も何度か経験したんですが、一度ランタイムを削除してcolabを起動し直すと高確率で上手く進むようになりました。ぜひ試して見てください!

  5. けんちゃん より:

    はじめまして初心者です。コメント失礼します。
    train toolのURLをwebUI上で挿入して、インストールまでは出来るのですが
    タブに反映されません。
    webUIのダウングレード等、何度もトライしましたが下記のエラーコードが出てしまいます。

    pythonのバージョンは3.10.6です。

    Error running install.py for extension extensions\sd-webui-train-tools.
    Command: “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\venv\Scripts\python.exe” “extensions\sd-webui-train-tools\install.py”
    Error code: 1
    stdout: Installing sd-webui-train-tools requirement: C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\requirements.txt

    stderr: Traceback (most recent call last):
    File “C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\install.py”, line 15, in
    launch.run_pip(f”install -r {python_requirements_file}”, f”sd-webui-train-tools requirement: {python_requirements_file}”)
    File “C:\Users\ユーザー \OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\launch.py”, line 145, in run_pip
    return run(f'”{python}” -m pip {args} –prefer-binary{index_url_line}’, desc=f”Installing {desc}”, errdesc=f”Couldn’t install {desc}”)
    File “C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\launch.py”, line 113, in run
    raise RuntimeError(message)
    RuntimeError: Couldn’t install sd-webui-train-tools requirement: C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\requirements.txt.
    Command: “C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\venv\Scripts\python.exe” -m pip install -r C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\requirements.txt –prefer-binary
    Error code: 1
    stdout:
    stderr: ERROR: Invalid requirement: ‘ユーザー\\OneDrive\\hLg\\A1111’
    Hint: It looks like a path. File ‘ユーザー\OneDrive\hLg\A1111’ does not exist.

    [notice] A new release of pip available: 22.3.1 -> 23.0.1
    [notice] To update, run: C:\Users\ユーザー\OneDrive\hLg\A1111 Web UI Autoinstaller\stable-diffusion-webui\venv\Scripts\python.exe -m pip install –upgrade pip

    Launching Web UI with arguments: –autolaunch –xformers
    Civitai Helper: Get Custom Model Folder
    Civitai Helper: Load setting from: C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper\setting.json
    Error loading script: train_tools.py
    Traceback (most recent call last):
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\modules\scripts.py”, line 248, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\modules\script_loading.py”, line 11, in load_module
    module_spec.loader.exec_module(module)
    File “”, line 883, in exec_module
    File “”, line 241, in _call_with_frames_removed
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\scripts\train_tools.py”, line 7, in
    from liasece_sd_webui_train_tools.ui import *
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\ui.py”, line 16, in
    from liasece_sd_webui_train_tools.train_ui import *
    File “C:\Users\ユーザー \OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train_ui.py”, line 10, in
    from liasece_sd_webui_train_tools import train
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 11, in
    from liasece_sd_webui_train_tools.Parser import Parser, ensure_path
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\Parser.py”, line 15, in
    import liasece_sd_webui_train_tools.sd_scripts.library.train_util as util
    File “C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\sd_scripts\library\train_util.py”, line 28, in
    import toml
    ModuleNotFoundError: No module named ‘toml’

    Loading weights [911ed862c5] from C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\models\Stable-diffusion\cbimix_v11.safetensors
    Creating model from config: C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\configs\v1-inference.yaml
    LatentDiffusion: Running in eps-prediction mode
    DiffusionWrapper has 859.52 M params.
    Loading VAE weights specified in settings: C:\Users\ユーザー\OneDrive\ドキュメント\A1111 Web UI Autoinstaller\stable-diffusion-webui\models\VAE\vae-ft-mse-840000-ema-pruned.ckpt
    Applying xformers cross attention optimization.
    Textual inversion embeddings loaded(0):
    Model loaded in 8.6s (load weights from disk: 0.1s, create model: 0.4s, apply weights to model: 5.7s, apply half(): 0.6s, load VAE: 0.4s, move model to device: 0.6s, load textual inversion embeddings: 0.7s).
    Running on local URL:

    • 悠 より:

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

      「tain toolのURLをwebUI上で挿入して、インストールまでは出来る」ということはローカル版で使用されていらっしゃるんですね。

      まず1つ気になったんですが、「ドキュメント」という日本語のファイルの中にwebuiのデータを保存するのはやめた方がいいと思います。こういう系のソフトウェアって、保存フォルダに日本語を使うとバグが出ることが多いんですよね。

      他の改善案を見つけたらここに追記していきます!

      • けんちゃん より:

        返信ありがとうございます!
        まずはファイルの場所変えたみたいと思います。

        • 悠 より:

          ローカル版のWebUIの場合、もしかすると逆にバージョンが古すぎるという可能性も考えられる気がします。
          Colabだと自動的に最新版がインストールされるんですが、ローカル版だと導入時のバージョンが結構古めだったと思います。

          私も何かの拡張機能を導入するときに、ローカル版を一度アップデートした記憶があります。

          ローカル版のアップグレードに関しては下記の記事でまとめているので、ぜひ試してみてください!
          https://yuuyuublog.org/localwebui_update/

          • けんちゃん より:

            最初のご指摘にありました通り、ドキュメント内からCドライブ直下へ再インストールしたところ導入成功しました。迅速な対応助かりました!本当にありがとうございました!

          • kirari9000 より:

            すみません、当方MACのローカルで同じエラーが出ており、タブに反映されない所でつまづいているのですが、考えられる解決法ありますでしょうか?
            一応バージョンは最新にしたのですが、、。

  6. 悠 より:

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

    どの部分が同じエラーなのか教えていただいてもよろしいでしょうか?
    「Error running install.py for extension extensions\sd-webui-train-tools.」の部分でしょうか?エラーメッセージを張っていただけると助かります!

    上の方と同じように、日本語のフォルダを使っていたりはしませんでしょうか?またpythonのバージョンは3.10.6にしていますでしょうか?
    また、もしかするとMac固有の問題かもしれません。ぜひ、エラーメッセージを拝見させていただきたいです!

    • kirari9000 より:

      返信おそくなりすみません、、!
      pythonのバージョンも3.10.6にしてみたりしましたがやはり状況変わらず、、一度エラーコード貼りますのでみて頂けますでしょうか、、!

      Error loading script: train_tools.py
      Traceback (most recent call last):
      File “/Users/name/stable-diffusion-webui/modules/scripts.py”, line 256, in load_scripts
      script_module = script_loading.load_module(scriptfile.path)
      File “/Users/name/stable-diffusion-webui/modules/script_loading.py”, line 11, in load_module
      module_spec.loader.exec_module(module)
      File “”, line 883, in exec_module
      File “”, line 241, in _call_with_frames_removed
      File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/scripts/train_tools.py”, line 7, in
      from liasece_sd_webui_train_tools.ui import *
      File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/ui.py”, line 16, in
      from liasece_sd_webui_train_tools.train_ui import *
      File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train_ui.py”, line 10, in
      from liasece_sd_webui_train_tools import train
      File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train.py”, line 11, in
      from liasece_sd_webui_train_tools.Parser import Parser, ensure_path
      File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/Parser.py”, line 15, in
      import liasece_sd_webui_train_tools.sd_scripts.library.train_util as util
      File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/sd_scripts/library/train_util.py”, line 28, in
      import toml
      ModuleNotFoundError: No module named ‘toml’

      (実際はnameの部分は当方名前ローマ字表記です)

      ご確認お願いします、、!

      • 悠 より:

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

        ModuleNotFoundError: No module named ‘toml’

        というエラーなんですね。

        コマンドプロンプトで
        pip install toml
        もしくは
        pip3 install toml
        と入力するとどうなりますでしょうか?

        • kirari9000 より:

          毎度返信おそくすみません、、!
          いろいろやってみたのですがどれも不発でして、、
          教えて頂いたコマンドプロンプトでtomlというフォルダは作成できたのですが、現状特に変わらず(配置する場所が問題でしょうか、、)

          一度お送りしたエラーコードの上にさらにエラーコードありましたのでこちらもお送りさせて頂きます。
          ご確認お願いします、、!

          nstalling requirements for Web UI
          Error running install.py for extension /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools.
          Command: “/Users/name/stable-diffusion-webui/venv/bin/python3.10” “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/install.py”
          Error code: 1
          stdout: Installing sd-webui-train-tools requirement: /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt

          stderr: Traceback (most recent call last):
          File “/Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/install.py”, line 15, in
          launch.run_pip(f”install -r {python_requirements_file}”, f”sd-webui-train-tools requirement: {python_requirements_file}”)
          File “/Users/name/stable-diffusion-webui/launch.py”, line 129, in run_pip
          return run(f'”{python}” -m pip {args} –prefer-binary{index_url_line}’, desc=f”Installing {desc}”, errdesc=f”Couldn’t install {desc}”)
          File “/Users/name/stable-diffusion-webui/launch.py”, line 97, in run
          raise RuntimeError(message)
          RuntimeError: Couldn’t install sd-webui-train-tools requirement: /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt.
          Command: “/Users/name/stable-diffusion-webui/venv/bin/python3.10” -m pip install -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt –prefer-binary
          Error code: 1
          stdout: Requirement already satisfied: accelerate in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 1)) (0.12.0)
          Requirement already satisfied: transformers in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 2)) (4.25.1)
          Requirement already satisfied: ftfy in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 3)) (6.1.1)
          Collecting albumentations
          Using cached albumentations-1.3.0-py3-none-any.whl (123 kB)
          Requirement already satisfied: opencv-python in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 5)) (4.7.0.72)
          Requirement already satisfied: einops in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 6)) (0.4.1)
          Collecting diffusers[torch]==0.10.2
          Using cached diffusers-0.10.2-py3-none-any.whl (503 kB)
          Requirement already satisfied: pytorch-lightning in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 8)) (1.9.4)
          Collecting bitsandbytes
          Using cached bitsandbytes-0.37.2-py3-none-any.whl (84.2 MB)
          Requirement already satisfied: tensorboard in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 10)) (2.12.0)
          Requirement already satisfied: safetensors in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 11)) (0.3.0)
          Requirement already satisfied: gradio in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 12)) (3.23.0)
          Requirement already satisfied: altair in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 13)) (4.2.2)
          Collecting easygui
          Using cached easygui-0.98.3-py2.py3-none-any.whl (92 kB)
          Requirement already satisfied: requests in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 16)) (2.25.1)
          Requirement already satisfied: timm in ./venv/lib/python3.10/site-packages (from -r /Users/name/stable-diffusion-webui/extensions/sd-webui-train-tools/requirements.txt (line 17)) (0.6.7)
          Collecting fairscale
          Using cached fairscale-0.4.13.tar.gz (266 kB)
          Installing build dependencies: started
          Installing build dependencies: finished with status ‘done’
          Getting requirements to build wheel: started
          Getting requirements to build wheel: finished with status ‘done’
          Installing backend dependencies: started
          Installing backend dependencies: finished with status ‘done’
          Preparing metadata (pyproject.toml): started
          Preparing metadata (pyproject.toml): finished with status ‘done’

          stderr: ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
          ERROR: No matching distribution found for tensorflow

          • 悠 より:

            こんばんは!

            kirari9000さんはMacを使われているんですよね。ということはGPUはNvidiaのものではないですよね。
            「Stable Diffusion WebUI」は基本的にNvidiaのGPUが推奨されているため、もしかしてMAC固有のエラーなのかなあ?とちょっと考えています。

            特にこの拡張機能って他のものと比べて繊細みたいなんですよね。これって一度sd-webui-train-toolsを削除してもう一度入れ直してもエラーが出るのでしょうか?

            また、LoRAの作成なら「LoRA Easy Training Scripts」というものもあります。もしsd-webui-train-toolsがダメそうならこちらも試してみてください。
            下の記事で導入方法を紹介しています。
            https://yuuyuublog.org/lora-easy-training-scripts/

  7. ど素人AI より:

    こんにちは
    けんちゃんさんと同じエラーがでております。
    Cドライブ直下へ再インストールとは何を再インストールされたのでしょうか?

    • 悠 より:

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

      同じエラーとは「train tool」のタブがwebUI上に表示されないということでしょうか?

      けんちゃんさんの場合は恐らく、webUIのデータフォルダをCドライブ直下に変更したのだと思います。

  8. ど素人AI より:

    その後2回ほど直でやろうとしたら

    To create a public link, set `share=True` in `launch()`.
    Error completing request
    Arguments: (‘C:\\’, ‘https://github.com/liasece/sd-webui-train-tools’) {}
    Traceback (most recent call last):
    File “C:\Users\burni\Desktop\Stable Diffusion\webui\modules\call_queue.py”, line 56, in f
    res = list(func(*args, **kwargs))
    File “C:\Users\burni\Desktop\Stable Diffusion\webui\modules\ui_extensions.py”, line 130, in install_extension_from_url
    assert not os.path.exists(target_dir), f’Extension directory already exists: {target_dir}’
    AssertionError: Extension directory already exists: C:\

    Error completing request
    Arguments: (‘C:\\Program Files\\’, ‘https://github.com/liasece/sd-webui-train-tools’) {}
    Traceback (most recent call last):
    File “C:\Users\burni\Desktop\Stable Diffusion\webui\modules\call_queue.py”, line 56, in f
    res = list(func(*args, **kwargs))
    File “C:\Users\burni\Desktop\Stable Diffusion\webui\modules\ui_extensions.py”, line 130, in install_extension_from_url
    assert not os.path.exists(target_dir), f’Extension directory already exists: {target_dir}’
    AssertionError: Extension directory already exists: C:\Program Files\

    と出てきました。
    Cに何かフォルダを作る必要があるのでしょうか??

  9. ど素人AI より:

    その後webUIのデータフォルダをCドライブ直下に変更してインストールしたところ
    インストールはできた感じですが、立ち上げなおしたときにtrain-toolsがタブに表示されないです。

    venv “C:\webui\venv\Scripts\Python.exe”
    Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
    Commit hash:
    Installing requirements for Web UI
    Installing sd-webui-train-tools requirement: C:\webui\extensions\sd-webui-train-tools\requirements.txt

    Launching Web UI with arguments: –autolaunch –precision full –no-half –lowvram –xformers
    Error loading script: train_tools.py
    Traceback (most recent call last):
    File “C:\webui\modules\scripts.py”, line 218, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
    File “C:\webui\modules\script_loading.py”, line 13, in load_module
    exec(compiled, module.__dict__)
    File “C:\webui\extensions\sd-webui-train-tools\scripts\train_tools.py”, line 7, in
    from liasece_sd_webui_train_tools.ui import *
    File “C:\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\ui.py”, line 12, in
    from liasece_sd_webui_train_tools.project_version_ui import *
    File “C:\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\project_version_ui.py”, line 10, in
    from liasece_sd_webui_train_tools.checkpoint_preview_ui import *
    File “C:\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\checkpoint_preview_ui.py”, line 9, in
    from liasece_sd_webui_train_tools import preview
    File “C:\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\preview.py”, line 3, in
    from modules.generation_parameters_copypaste import create_override_settings_dict
    ImportError: cannot import name ‘create_override_settings_dict’ from ‘modules.generation_parameters_copypaste’ (C:\webui\modules\generation_parameters_copypaste.py)

    LatentDiffusion: Running in eps-prediction mode
    DiffusionWrapper has 859.52 M params.
    Loading weights [d8722b4a4d] from C:\webui\models\Stable-diffusion\neverendingDreamNED_bakedVae.safetensors
    Applying xformers cross attention optimization.
    Textual inversion embeddings loaded(1): EasyNegative
    Model loaded in 2.1s (0.5s create model, 1.6s load weights).
    Running on local URL:

    To create a public link, set `share=True` in `launch()`.

    このようなエラーが出てます。よろしくおねがいします。

    • 悠 より:

      この拡張機能、「Error loading script: train_tools.py」で止まっている方多いみたいですね。私の場合pythonのバージョンが3.10.6ではなかったことが原因でしたが、他にも要因があるのかも…

      正直このエラーの原因は私にはわからないので、GitHubで開発者にエラーコードを投稿して聞いてみることをおすすめします。
      下記のURLから開発者に直接質問することができます。
      https://github.com/liasece/sd-webui-train-tools/issues

      ちなみに「ImportError: cannot import name」で調べてみたところ、なんとなくですが一回拡張機能をextensionフォルダから削除して、もう一度インストールすれば改善されるのではないか?という気がしました。もしよかったらぜひ試してみてください。
      https://yuuyuublog.org/wp-content/uploads/2023/04/スクリーンショット-413.png

      • ど素人AI より:

        焦って下かたの質問に返事してしまいました。。。。
        バージョンが最新なのでダメな可能性もあるでしょうか?

        再インストールしたら
        Installed into C:\webui\extensions\sd-webui-train-tools. Use Installed tab to restart.
        ↑がでて、立ち上げなおしてもタブに表示なしでした。

        自作ローラは今のとこあきらめて別のことやります!!
        ありがとうございます。

        • 悠 より:

          この拡張機能、何かが要因で多くの方にエラーが出ているっぽいですね。
          私の場合colabでもローカルでも普通に起動したんですよね…

          ど素人AIさんってwebuiのデータを保存してある場所を何回か変更していると思うんですけど、その際webuiのフォルダをコピペしたりしました?
          私は保存フォルダを変えたことないので推測になってしまうんですが、フォルダをそのままコピペすると不具合が起きてしまうのではないか?と思いました。

          • ど素人AI より:

            コピペはせずにつまんで移動しています。
            ど素人なのでその行為がコピペなのかもしれないですが。。。

          • 悠 より:

            コピペはせずに、ドラッグアンドドロップでフォルダの位置を変えたんですね!分かります。

            確定では無いですが、これが怪しいような気もします。イラスト作成自体は普通にできているんでしょうか?

          • ど素人AI より:

            今は普通に使えております。
            別のエクステンションControlNetは無事導入できました。

  10. y より:

    はじめまして。コメント失礼します。
    下記のエラーコードが出てしまいます。

    pythonのバージョンは3.10.6です。

    Error running install.py for extension C:\sd.webui\webui\extensions\sd-webui-train-tools.
    Command: “C:\sd.webui\system\python\python.exe” “C:\sd.webui\webui\extensions\sd-webui-train-tools\install.py”
    Error code: 1
    stdout:
    stderr: Traceback (most recent call last):
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools\install.py”, line 8, in
    repo.git.submodule(“update”, “–init”, “–recursive”, “–force”)
    File “C:\sd.webui\system\python\lib\site-packages\git\cmd.py”, line 741, in
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
    File “C:\sd.webui\system\python\lib\site-packages\git\cmd.py”, line 1315, in _call_process
    return self.execute(call, **exec_kwargs)
    File “C:\sd.webui\system\python\lib\site-packages\git\cmd.py”, line 1109, in execute
    raise GitCommandError(redacted_command, status, stderr_value, stdout_value)
    git.exc.GitCommandError: Cmd(‘git’) failed due to: exit code(1)
    cmdline: git submodule update –init –recursive –force
    stderr: ‘git: ‘submodule’ is not a git command. See ‘git –help’.’

    • 悠 より:

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

      これもおそらくローカル版ですよね?GitCommandErrorはgitのバージョンが古いと出てしまうという記事を見つけました。
      コマンドプロンプトでgit –versionと入力すると、バージョンはどうなっていますでしょうか。
      https://codelikes.com/git-version/

      最新版は2.40.0らしいです。ちなみに私は2.39.2でエラーは表示されていません。

      • よく転ぶゲーム好き より:

        しばらく前のコメントなので解決されてるかもしれませんが、私もこのエラーに遭遇しました。
        cmdline: git submodule update –init –recursive –force
        stderr: ‘git: ‘submodule’ is not a git command. See ‘git –help’.’

        Launching Web UI with arguments:
        No module ‘xformers’. Proceeding without it.

        エラーの後半2行からですがその下のxformersが入って無いよ!って事で
        xformersを入れたら綺麗に直りました。
        Pythonがxformersの一部を読みに行っているのかな?Pythonの中身を見てないので正確な事は分かりませんが、
        同じエラーが出てる人の参考になればと思いここに書かせてもらいました。

        xformersの簡単な入れ方!圧縮ファイル解凍型の人はこっちのが確実かと。
        webui-user.batの 「set COMMANDLINE_ARGS=」を「set COMMANDLINE_ARGS=–xformers」に書き換えて
        webui-user.batから一度起動してURLが出るところまで来たらコマンドプロンプトを閉じて
        先ほど追記した「–xformers」を消しましょう。消さないと毎回インストールコマンドが走ります。

        学習中で画像生成を我慢してる人の「もしかしたら!?」でした。

        • よく転ぶゲーム好き より:

          すみません、訂正です。

          「先ほど追記した「–xformers」を消しましょう。消さないと毎回インストールコマンドが走ります。」

          xformersをここのコマンドラインだけで使われてるなら消さずにそのまま使ってください。
          webui-user.batから起動すれば使えると思います。
          別途xformersをインストールしてるのならここで指定しなくても大丈夫です。

  11. mishim より:

    いつも勉強させていただいています。
    この記事を読み、自分でもローカルで試してみたのですが、作成したloraファイルを使用すると、バグのような画像(砂嵐のような)しか生成できません。
    特にエラーは吐いていないようなのですが、何か考えられること、ありますでしょうか。

    • 悠 より:

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

      lora自体は生成できているんですね。
      考えられる点としては例えばLoraの比重が大きすぎる、学習に使ったモデルデータと属性が大きく異なるモデルデータを使っている、素材画像に何か問題がある等でしょうか。

      私が試しに自作loraを作って画像を生成してみたときも、なぜか砂嵐ほどではないですが一切キャラが生成されなくなることがありました。
      比重を変えつつ10回程度画像を作成してみてダメな場合、素材画像を変えて作りなおしてみることも視野に入れた方がいいかもしれません。

      ただ砂嵐というのはちょっとおかしい気もするので、別の要因があるのかもしれません。何かわかりましたらまた追記していきます。

      • mitarashi より:

        上記同じ事象が出ていたのですが、わたしの場合はバッチサイズが原因でした。
        4090積んでるから大丈夫やろw、で2以上を設定しているとモザイクのような画像しか生成されず1とすることで求める動きとなりました。

        飽くまで私のケースですがご参考になればと。。。

        • 悠 より:

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

          誠に有益な情報です!記事内に追記させていただきます!

  12. 匿名 より:

    ありがとうございます。
    確認したところ2.40.0でした。
    ダウングレードするか最新版対応待ちという感じでしょうか。

    • 悠 より:

      そうでしたか、gitのバージョンは関係なかったんですね…

      いえ、これは可能性の1つといった感じで、他にも要因がある可能性が大きいです。
      また何か改善案を見つけましたら、ここに追記していきます。

      • 悠 より:

        ちなみにですがwebuiをローカルに導入した後、git pullコマンドでアップグレードしたことはありますでしょうか?

        あまりにwebuiのバージョンが古すぎると、拡張機能が上手く動かないことがあります。

        Colabは自動的に最新版を都度インストールするので問題はないんですが、ローカル版の場合はこれかもしれません

  13. 匿名 より:

    コメント失礼します
    sd-webui-train-toolsを使用する際にBegintrainを押下した際、ImportError: No xformers / xformersがインストールされていないようですというエラーが出てきます。
    sd-webui-train-toolsを使用するにはxformersというものが必要なのでしょうか?
    お忙しいところ恐縮ですが、お答えいただけると幸いです。

  14. 匿名 より:

    すみません、連投失礼します。
    テキストファイルは作成されているようなのですが、これはmodelの作成には失敗しているということでよろしいのでしょうか。

    • 悠 より:

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

      おそらくLoRAファイル作成に必要な学習の設定をする欄で、use xformersにチェックを入れているのではないでしょうか?
      xformersを使っていないなら、チェックを外して起動してみてください。
      ただ、xformersはcommandlineに挿入するだけで有効化されるので、個人的には使用することをおすすめします。AIイラストの生成速度を向上させるコマンドです。
      https://yuuyuublog.org/wp-content/uploads/2023/03/スクリーンショット-429.png

      • 匿名 より:

        確かにおっしゃる通り、チェックが入っておりました。
        チェックを外したところ無事モデルの作成が行えました。
        ありがとうございます。

  15. 青の騎士 より:

    初めまして、ちょっと教えて下さい。
    今回、試しにcolab上でLoRA作ってみました。
    無事にsafetensorsが作成された・・・っぽいんですが、これって存在するのはcolabサーバー上、ですよね?
    これを、自分のPC、あるいはGoogleDrive上の自分のドライブにコピーするにはどうすればいいのでしょうか?
    あのファイルディレクトリ画面のようなものはローカル環境でしょうか?
    colabでもあの画面は表示できるのでしょうか?
    colabの場合、コマンドラインからコピーコマンドを実行するようですか?
    自分でDLしたLoRAを使う場合は

    !cp コピー元Drive上ファイル名 コピー先サーバーディレクトリ

    のようなので、サーバー上のファイルを持ってくる場合は逆に

    !cp サーバー上LoRAファイル名 コピー先Driveディレクトリ

    でいいのでしょうか?
    今回の場合だと

    !cp /content/stable-diffusion-webui/outputs/train_tools/projects/プロジェクト名/versions/v1/trains/chilloutmixni-bs-1-ep-15-op-Lion-lr-0_0001-net-128-ap-64/プロジェクト名-v1.safetensors /content/drive/MyDrive/StableDiffusion

    これでセーブ先からMyDriveのStableDiffusionディレクトリにコピーできるのではないか、と思っているのですが、どうでしょうか?
    それと、colabでのWebUIは一度限りのインスタンスURLですが、サーバー上のファイルは、一度通信を切断してランタイムをクリアしてしまうと、消えてしまうのでしょうか?
    もしくは、またWebUIを立ち上げ直して同じディレクトリでDL可能なのでしょうか?

    ついでに、もう一つ質問させて下さい
    今回作成したのは車のLoRAなのですが(なので著作権やR18でBANされる確率はほぼゼロだと思っています)、車の学習用元画像って、ほとんどが横長で、サンプリングが512*512だと、ほとんどで車の中央だけで左右が切れてしまいます。
    こういう場合は画像サイズを横長(768*512とか、1024*768とか)で設定するべきでしょうか?
    また、画像サイズが大きく、ハミ出す場合は多少縮小して、設定サイズに車の全部が入るようにするべきでしょうか?
    多分このへんは悠さんも「よくわかりません」の可能性が高い気もしますが、もしわかるようであればお答えいただけると助かります。
    よろしくお願いします。

    • 悠 より:

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

      ファイルディレクトリの画像はColab上のものですよ!colabで左側にあるファイルをクリックすると表示できます。

      この拡張機能で作成したsafetensorsファイルをcolab上で右クリックして、「ダウンロード」を選択すれば自分のPCに保存できますよ!
      144MBあるので保存するには20分くらいかかります。

      あとは通常通りの方法でGoogle Driveにアップしてmaintained by Akaibuで読み込めばOKです。

      サーバー上のファイルは一度ランタイムを削除するとすべて消え去ってしまいます。なので、その前に保存しておくことをおすすめします。

      車のLoRAですか!それは個人的に見てみたいですw
      恥ずかしながら仰る通り、試行回数がまだ少ないため「こちらがいい」と断言することは難しいです。申し訳ありません…
      ただ、横長の画像しか作成しないのならば、768*512で設定した方がいいのではないか?という気がします。
      私が調べた限りでは512×512以外のサイズでLoRAを学習させている記事・動画をほぼ見かけていませんが、これは人物のLoRAを作成している方がほぼ9割だから、というような気もしますね…

      • 青の騎士 より:

        早速のお返事ありがとうございます。
        まだ接続切ってなかったのでなんとかDLできました。
        上の「ファイル」ではなく、左横のアイコンだったんですね、最初わからなかった。(笑)
        とりあえず初の自作LoRA使ってみました・・・が。
        やっぱり、学習元の画像がよろしくなかったようで。
        車が車になってない。
        取り込みサイズを横長に設定して、車全体が入るようにした方がいい気がします。
        正直、LoRA入れない方がマシな絵になります。(笑)
        最初に覚えさせた画像を忘れさせる・・・のは難しいですよね。
        これはもう、最初から作り直した方がいいのかな?
        あと、背景はいろいろある方がいい、というのもよくわかりました。
        今回試しに作ってみたのはフォードのGT40という半世紀前のレーシングカーなのですが(フォードVSフェラーリに出て来たアレのバリエーション、と言えばわかるでしょうか)、今回用意した写真のほとんどは、そのレプリカ(というか、事実上フォード公認の再生産モデル)のメーカー公式サイトの写真で、ショールームの中の車の背景に、シェルビーコブラやGT40のイラストが額に入って飾られている、という写真が大半でした。
        なので、生成された絵の大半に、バックに額縁が並んでいるという・・・(笑)
        なので、今は背景が普通に屋外の写真や、ショールームの写真はお絵かきソフトで額縁を消してみたりして、さらにサイズが少し大きい物は縮小してみたり、教材の質を向上させてみています。
        やはりこういうのは、手抜きや面倒くさがったらダメですね・・・
        素材を厳選すれば、完成品の仕上がりも変わってくると信じて作業中です。
        あとは、おそらくベースになるモデルデータ選びも重要な気がします。
        今回はとりあえずお試しでChillout使ってみましたが、使うときはまだしも、作るときは風景やメカに強いモデルデータを使用した方がいいような気がします。
        ましてやアニメキャラ向けモデルデータなど使った日には・・・ねえ。(笑)
        でも、どれを使えばいいのか、となると・・・よくわかりません。
        とりあえずCivitaiでメカっぽい絵をサムネイルにしている物や、写真ぽい絵を得意としてそうな物を探してみます。
        もし満足の行く出来になったら、そのうちCivitaiにでもアップするかもしれません。
        今、Civitaiにある車のLoRAって、最新鋭スーパーカーかちょい前の日本のスポーツカー、あとはなぜか大量のロシア車がほとんどなんですね。
        (ていうか、作ってる人が数人しかいないので、作者の趣味でやたらジャンルが偏る)
        私の好きな古いアメ車がないんです。
        なので、うまく作れそうなら自分で作ってしまえ、というのが事の発端です。
        これがうまく行くなら、私も趣味丸出しでジャンルが偏ったLoRAを作ってみたいと思います。(笑)
        ちなみに悠さんは、どういう車のLoRAなら使ってみたいですか?

        • 悠 より:

          おお!無事ダウンロードできてよかったです!

          モデルをChilloutにされたんですね~。あのモデルはやはりアジア人美少女専用なので、メカ系は難しい気がします。「ReV Animated」という2.5D寄りで絶景なども作れるモデルがあるので、これを試してみてはいかがでしょうか?Chilloutよりはいい出来になる気がします(LoRAはモデルに引っ張られるので、作り直しになりますが…)

          後実写系をなんでも生成できるらしい「Deliberate」とかもいいかもしれませんね。

          車のLoRAなら有名どころのロールスロイスとかでもいいですが、私が好きな海外ドラマシリーズで「SUPERNATURAL」の主人公が乗っている黒いインパラ(多分こんな名前のはずw)とか作ってみたいですねw

          • 青の騎士 より:

            ありがとうございます。

            とりあえずDeliberateと、
            同じく高評価で実写系に強そうなRealisticVisionあたりを試してみようと思います。
            とりあえず元画像の加工が終わったら試してみます。
            元画像が50枚くらいあるので大変で…orz
            画像サイズも1024×768か1200×800くらいに欲張ってみるつもりです。
            サーバーの割り当てVRAM足りなくなるようなら減らします。(笑)
            ただ、512×512でもかなり余裕あったので、行ける気はします。

            ロールスロイスですか…個人的にはクラシックスタイルのボディで、ライトが4灯化されたシルバークラウド3かファントム6が一番好きですね。
            あの、街中で見かけたら、思わず道を開けたくなるオーラが凄いです。

            スーパーナチュラルの車…ああこれですか、67年型シボレー·インパラですね。
            この年式は2ドア、4ドア、コンバーチブルがありますが、劇中車は4ドアのようです。
            1967 Chevrolet Imparaでググれば、画像はいくらでも出て来ます。
            こだわるなら、その中でも4ドアだけ使うといいかもしれません。(笑)

            またちょっとLoRA作ってみて、質問や報告させてもらうかもしれません。
            よろしくお願いします。

  16. 匿名 より:

    コメント失礼いたします。
    私はGTX3060TiというGPUを使っているのですが、下記のようなエラーが発生してしまいます。

    Train Tools: train.train error CUDA out of memory. Tried to allocate 512.00 MiB (GPU 0; 8.00 GiB total capacity; 4.93 GiB already allocated; 139.39 MiB free; 5.86 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

    スペックは足りていると思うのですが、メモリ不足が起こってしまっているようです。
    メモリの容量を空ける方法や、ほかにこの問題の解決策があればご教示いただきたいです。
    すみませんが、よろしくお願いします・・・

    • 悠 より:

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

      メモリー不足エラーですか~
      まず単純なことなんですが、本拡張機能を使用している時に、同時にwebuiで画像を生成したりはしていませんでしょうか?それか何かゲームを起動しているとか。

      VRAM8gbでは学習と画像生成(特に高画質化)を同時にはできないと思います。

      後はbatchsizeを1にしているかもチェックして、それでもダメならnetdimやalphaの値を下げて見るといいかもしれません。

      • 匿名 より:

        外野から失礼します、5G近くも確保済みは凄いので、ゲームは考えづらいかもしれません
        私はGTX3060 12Gですが、発生した時はMachineの再起動で解決できています。

  17. 匿名 より:

    こんにちは、いつも記事を参考にさせていただいております。
    おかげさまでLORAを自作できるようになったのですが、服装のみを覚えさせたいのに学習元の顔が強く残ってしまったりします(逆も然り)。
    素人なりに調べてみたところ、学習元画像のタグ付けでそういった部分を操作できるとのことでしたが、sd webui train toolにおけるタグ編集のやり方がわかりませんでした……
    もしよろしければ「use deepbooru for captions」を用いないsd webui train toolにおける学習元画像のタグ付けのやり方についてお教えいただきたいです。

    • 悠 より:

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

      タグ付けまでこだわりたい場合は、下記の記事で紹介している「LoRA Easy Training Scripts」を使うのがおすすめです。拡張機能「Dataset Tag Editor」を使ってタグを編集できます。
      https://yuuyuublog.org/lora-easy-training-scripts/

      試してはいないので何とも言えませんが、この拡張機能で作ったタグのtxtファイルを素材画像と一緒にアップして、Existing caption txt Actionの欄を変更すればもしかするとsd-webui-train-toolsでも自分で設定したタグが使えるかもしれません。

      • 匿名 より:

        返信ありがとうございます、ご提示いただいた記事拝読いたしました。
        自分はcolab環境なのですが、コメント欄も拝見したところや「LoRA Easy Training Scripts」「Dataset Tag Editor」もcolabで動かせるみたいなので、まずはいろいろと試行錯誤してみます。

        ……これはリクエストになってしまうのですが、colab上での「LoRA Easy Training Scripts」のLORA生成に関して解説記事を作っていただけるととてもうれしいです。

  18. 青の騎士 より:

    先日はいろいろありがとうございました。
    LoRA作り難航しています。
    とりあえず、時々謎物体は産むけれど、GT40のLoRAと呼べる物もできたのですが、ちょっと油断するとすぐに生ゴミ製造機になってしまいます。
    車どころか幼稚園児の粘土細工のような物や、よくわからないピンボケ画像のような物、挙句の果てには不法投棄のゴミ捨て場にしか見えない画像が生成されるLoRAになります。
    モデルデータをいろいろ変えてみたり、元画像の枚数やエポック数を変えてみたり、試行錯誤しています。
    元画像が多すぎてもダメなのか、はたまた元画像を増やしたらそれに応じてエポック数もふやさないとダメなのか、それとも元画像の質にも影響が大きいのか・・・
    まだまだ試行錯誤の日々が続きそうで、なかなか苦労しそうです。
    1.0から始まったバージョンもすでに2.1になり、その中で使い物になるのは2つくらいしかありません。
    その2つもまだ不安定で、より質の向上を目指してアップグレードしようとすると生ゴミ製造機になり果てる、という・・・
    タグ付けに、Deepbooruではなく、自分でタグエディタ使った方がいいのかなぁ・・・
    (実はまだ使っていませんが、タグエディタそのものはすでに組み込んであります)
    悠さんもDeepbooruはアニメキャラ以外には微妙、とおっしゃってましたし、自分でタグ付けすることも考慮してみようと思います。
    何か、こうするとうまく行きやすい、逆にこうすると生ゴミ製造機になる、みたいな情報があれば、ぜひ教えて下さい。

    • 悠 より:

      お久しぶりです!生ごみ製造機という表現に笑いましたw

      私がいろいろ情報を集めたり、試してみた結果(ただこの情報は人物関係なので車に適応できるかは微妙です)、
      ・元画像は1024×1024サイズを5~10枚(解像度の低い画像を混ぜない)
      ・素材画像に透過PNGを使わない
      ・繰り返し数は20程度
      ・エポックは10~30程度
      ・総ステップ数はキャラなら2000~4000、背景なら6000くらいが理想らしい(車ってどっちなんでしょうかね?)
      ・おっしゃる通りDeepbooruはアニメキャラ以外微妙なので、Dataset tag Editorの使用を推奨
      ・Dataset tag Editorで作成したtxtファイルをsd-webui-train-toolで使えるかは未確認なので、ローカル環境を用意できそうなら「LoRA Easy Training Script」を使用。
      https://yuuyuublog.org/lora-easy-training-scripts/

      個人的な意見では繰り返し数がかなり重要な気はしています。タグ付けに関してはあまりに深すぎるのでまだ勉強中です。

      あと私一回、銃の生成を試してみたんですよ。それがまた難しくて、スコープが銃身から生えたりするんですよねw
      なので機械系はキャラ以上に沼が深そうな気がしています

  19. 匿名 より:

    はじめまして。
    私はpaperspaceでsd-webui-train-toolsを使用したのですが、とりあえず無事LoRAファイル(.safetensors)を作成することはできました。
    ただ、実際にそれを使用して画像生成しようとすると、次のエラーが生じてしまいます。
    civitaiからDLした他のLoRAファイルを使用した画像生成は可能なので、学習段階で自分が作成したファイルの方に落ち度があるとは思うのですが。。
    ちなみに、設定画面での「Upcast cross attention layer to float32」へのチェック、コマンドライン引数に「–no-half-vae」を入れましたがエラー発生に変化なく、コマンドライン引数に「–disable-nan-check」を入れたところエラー発生せず画像生成されますが(当該LoRA使用すると)真っ黒な画像が生成される状況です。
    何かお心当たりがありましたらご教示いただけますと幸いです。

    【エラー内容】
    modules.devices.NansException: A tensor with all NaNs was produced in Unet. This could be either because there’s not enough precision to represent the picture, or because your video card does not support half type. Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion or using the –no-half commandline argument to fix this. Use –disable-nan-check commandline argument to disable this check.

    • 悠 より:

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

      仰る通り、そのエラーの解決方法は「Upcast cross attention layer to float32」へのチェックと複数のサイトで言われていますね。
      設定関連の凄くよくあるミスなんですが、「Upcast cross attention layer to float32」へのチェックを入れた後、オレンジ色のApply settingsをクリックしていないなんてことはありませんか?

      こんなことはないと思うんですが、生成したsafetensorsファイルをwebui\loraのフォルダ以外に間違えて配置しているなんてこともありませんでしょうか?

      それ以外にはモデルを切り替えて試してみる(モデルの破損の可能性)、コマンドラインに–no-half-vaeだけでなく、–no-halfも入れてみるなどの対処法も報告されていました。

      paperspaceユーザーの方を初めてお見掛けしました。Colabに代わるオンラインサービスといわれているそうですね。私も使い勝手が気になっています!

      • 匿名 より:

        初めまして!こちらのページのおかげでLora作成に成功しましたが、出来た作品が学習に使った画像しか作成されないんです。プロンプトを変えても、Loraの強度も変えても同じで。ちなみにonepi○ceのナ○を10枚くらい、20ステップでanything4.5をモデルで作成しました。やっぱり時間かけてもいいので枚数を増やすべきでしょうか?

        • 悠 より:

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

          画像はあまりに低画質のものが入っていなければ、10枚くらいでいいそうです。
          多分20エポックですよね?

          繰り返し数はどうされていますか?もし少なめなら繰り返し数を20、画像はそのまま10枚、エポックを10~20で1度試してみてください。私はこの設定でまあまあうまくいきました。

          「学習に使った画像しか作成されない」というのは、どんなプロンプトを使っても出力結果が「完全に」固定されてしまうということなんでしょうか?ある程度はタグの問題もある気がするんですが、そこまで結果が固定されるのは何だか不思議です!

          • 匿名 より:

            お早い回答ありがとうございます!
            そうなんです。プロンプト変えても、学習元の画像がちょっと色変わったり
            くっついて同じような顔が何人になるんです。
            あと始めるときに
            Error caught was: No module named ‘triton’
            A matching Triton is not available, some optimizations will not be enabled.
            このエラー表示が8回表示されてから学習が始まるんです。
            他のサイトとかだとxformer使うときに出る警告だ。とかって
            書いてあったので気にしていませんでしたが、もしかしてこれが原因かも?

          • 悠 より:

            ああ~!そのtritonのエラーは私も出ますよ!(ただ流石に8回は出なかった気がする…これも不思議…)
            そのモジュールはWindowsでは使えない機能なようなので、特に気にしなくてもいいそうです!

            LoRA生成に一番重要なのは素材画像で、その次に設定とタグ付けといいますからね~。
            もし繰り返し数などを調整してもダメそうだったら「LoRA Easy training Script」の方もぜひ試してみて下さい!
            https://yuuyuublog.org/lora-easy-training-scripts/

  20. 匿名 より:

    コメント失礼致します。

    画像をドラッグしてこのページのように進めたのですが、Update Datasetを押しても左側に学習元画像が表示されません。どういったことが考えられますか?

    • 悠 より:

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

      Colabのセルにエラーコードは表示されていますでしょうか?もし何か表示されていましたら、教えていただけると嬉しいです!

      何もエラーコードが表示されていない場合は、Colabがフリーズした(表現が正しいかどうかわかりませんが)可能性があると思います。
      例えばColabで画像生成をする際、右側のプレビュー画面になかなか画像が表示されないことを経験していませんでしょうか?あれと同じことがUpdate Datasetで起きているような気がします。

      そういう時にボタンを連打してしまうと、処理が間に合わずに固まってしまうような印象があります。
      この場合はセルを一回中断して再度実行すると、すんなり動作が進むことがありますよ!

      • 匿名 より:

        使用環境はMacでローカル版を使っています。なので、Colabについてはわかりません。画像をドラッグして、Update Datesetを押すと0it [00:00, ?it/s]と表示され、読み込みができません。

        • 悠 より:

          ローカル版の方なのですね!申し訳ございません。

          例えばですが、使用する画像の名前に日本語の文字列が含まれているというようなことはありませんか?
          英数字で名前を付けていないとバグの原因になります。

  21. サザエ より:

    記事ありがとうございます!
    記事のやり方をgoogle colabで試したところこちらのエラーが出て何かがインストールされていないと出るのですが解決策ありますでしょうか?

    [Dataset 0]
    loading image sizes.
    100% 14/14 [00:00<00:00, 16329.33it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 140
    mean ar error (without repeats): 0.0
    prepare accelerator
    Using accelerator 0.15.0 or above.
    load StableDiffusion checkpoint
    loading u-net:
    loading vae:
    loading text encoder:
    Replace CrossAttention.forward to use xformers
    Train Tools: train.train error No xformers / xformersがインストールされていないようです
    Traceback (most recent call last):
    File “/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/sd_scripts/library/train_util.py”, line 1672, in replace_unet_cross_attn_to_xformers
    import xformers.ops
    ModuleNotFoundError: No module named ‘xformers.ops’; ‘xformers’ is not a package

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train_ui.py”, line 121, in on_train_begin_click
    train.train(cfg)
    File “/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train.py”, line 68, in train
    train_network.train(args)
    File “/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/sd_scripts/train_network.py”, line 134, in train
    train_util.replace_unet_modules(unet, args.mem_eff_attn, args.xformers)
    File “/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/sd_scripts/library/train_util.py”, line 1626, in replace_unet_modules
    replace_unet_cross_attn_to_xformers()
    File “/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/sd_scripts/library/train_util.py”, line 1674, in replace_unet_cross_attn_to_xformers
    raise ImportError(“No xformers / xformersがインストールされていないようです”)
    ImportError: No xformers / xformersがインストールされていないようです

    • 悠 より:

      コメントありがとうございます!
      上の方のコメントで同じようにxformersに関するエラー報告をいただいています。

      COMMANDLINE_ARGSに –xformers(ハイフンは2回)は追加していますでしょうか?

      もし追加していない場合は、このオプションを使って再度実行してみてください

      • サザエ より:

        コメントありがとうございます
        ちょっとやってみたのですがうまく動かず

        元々ある
        !COMMANDLINE_ARGS=”–share –gradio-debug –gradio-auth me:qwerty” REQS_FILE=”requirements.txt” python launch.py

        ここの中に
        –xformers
        を入れるということですよね?
        入れる位置で違いが出るのでしょうか

        • 悠 より:

          仰る通りです。”–share –gradio-debug –gradio-auth me:qwerty”の中に入れれば大丈夫です。
          位置は関係ありません。

          xformersのオプションを入れても、ImportError: No xformers / xformersと表示されますでしょうか?

          あとおそらくですがどうしてもエラーが解消されなかったら、sd-webui-train-toolの設定にあるuse xformersのチェックを外せば動くようになると思います。

          • 匿名 より:

            コメントありがとうございます!
            やはりそちらのコードを入れると長い文章で最終的にこれが出てきて
            launch.py: error: unrecognized arguments: –xformers

            StableDiffusionへ飛べるURLも出ない形になります

            sd-webui-train-toolの設定試してみます!

          • 悠 より:

            そのエラーは認識できないオプションを使っているというものです。
            xformersの前のハイフンは””2つ””ですが、大丈夫でしょうか?
            ブログのコメント欄だとハイフン2つが繋がってしまうんです。

            また、オプションとオプションの間を半角スペースで区切っていますでしょうか?

            下記の画像のようになっていればOKだと思います。
            https://yuuyuublog.org/wp-content/uploads/2023/04/スクリーンショット-598.png

          • サザエ より:

            ありがとうございます!できました!
            クオリティーがあまり高くないのですがこちらは何回か画像読めせていけば良い感じになっていくのでしょうか

          • 悠 より:

            おお!よかったです!

            LoRAのクオリティに関しては勉強することが多すぎて正直沼ですね。
            たとえば素材画像を変更してみるとか、繰り返し数やエポックを調整してみるなどの簡単な部分から攻めていくのがおすすめです。

            ちなみに私は繰り返し数を20くらいにして生成したLoRAが一番クオリティーが高かったです。

            私も完璧なLoRAのガイドをいつか作成したいんですが、何分研究しないといけないことが多すぎる上(正直わからないことだらけです)、LoRAの学習には1回1回時間がかかるので、当分先になりそうです。

            何かいい設定例などがありましたら、また随時更新していきますね!
            もし参考になる記事などをみかけたら、ぜひ教えていただけると嬉しいです!

            CivitaiのLoRA職人の方に弟子入りしたいくらいですw

          • サザエ より:

            管理人様でも難しいんですね><
            研究していくしかないですね!

            記事違いで申し訳ないのですが
            教えてほしいことがあり、ローカル環境でStable Diffusionを使用した場合は何個も起動できるのでしょうか?
            例えば、今はオンライン環境のgoogle colabでStableを起動しており
            そこでGoogleアカウントを分けてStableを起動してモデルを分けて同時にイラストを制作しているのですがローカルでも同じように何個か起動しながらやれるのでしょうか?
            オンラインだと毎回、読み込みに時間がかかるのと生産速度が上げるために強いGPUのPCを買おうか迷っていたのでお聞きしたかったです><

          • 悠 より:

            ローカル環境で複数のStable Diffusion WebUIを立ち上げることは可能ですが、VRAMの消費量が凄いことになるので推奨されていません。
            ただローカル版だとWebUI自体30秒程度で起動しますし、RTX4070TiなどのハイエンドGPUなら512×512の画像1枚を2秒で生成することができるそうなので、同時起動しなくてもほぼストレスはなくなると思いますよ!
            GPUの選定に関しては下の記事がめちゃくちゃ詳しいです!
            https://chimolog.co/bto-gpu-stable-diffusion-specs/

            あとこれ質問と関係ないんですけど、Colabの制限を回避するために複垢を使うとアカウントの制限やBANの可能性があると聞いたんですが、サザエさんは大丈夫でしょうか…?

          • サザエ より:

            サイトありがとうございます!助かります!
            強いグラボがあると確かに多く起動しなくてもやれてストレスがなさそうですね

            複垢についてはブラウザ分けているからかわからないですがStableを知って1ヶ月くらいはそれでやってますが今のところ大丈夫ですよ!

  22. DA より:

    はじめまして。
    私はsd-webui-train-toolsを使用したのですが、LoRAファイル(.safetensors)を作成できません。
    画像の読み込み等はできているのですが、ステップが進んでいないみたいです。
    ご助言が貰えたら嬉しいです。
    [Dataset 0]
    loading image sizes.
    100%|████████████████████████████████████████████████████████████████████████████████| 11/11 [00:00<00:00, 5515.52it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 110
    mean ar error (without repeats): 0.0
    prepare accelerator
    load StableDiffusion checkpoint
    loading u-net:
    loading vae:
    loading text encoder:
    [Dataset 0]
    caching latents.
    100%|██████████████████████████████████████████████████████████████████████████████████| 11/11 [00:07<00:00, 1.51it/s]
    import network module: networks.lora
    create LoRA network. base dim (rank): 128, alpha: 64.0
    create LoRA for Text Encoder: 72 modules.
    create LoRA for U-Net: 192 modules.
    enable LoRA for text encoder
    enable LoRA for U-Net
    prepare optimizer, data loader etc.
    use Lion optimizer | {'weight_decay': 0.1, 'betas': (0.9, 0.99)}
    override steps. steps for 20 epochs is / 指定エポックまでのステップ数: 2200
    running training / 学習開始
    num train images * repeats / 学習画像の数×繰り返し回数: 220
    num reg images / 正則化画像の数: 0
    num batches per epoch / 1epochのバッチ数: 110
    num epochs / epoch数: 20
    batch size per device / バッチサイズ: 1
    gradient accumulation steps / 勾配を合計するステップ数 = 1
    total optimization steps / 学習ステップ数: 2200
    steps: 0%| | 0/2200 [00:00<?, ?it/s]epoch 1/20
    steps: 0%| | 1/2200 [00:40> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    Traceback (most recent call last):
    File “D:\1111\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train_ui.py”, line 121, in on_train_begin_click
    train.train(cfg)
    File “D:\1111\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 68, in train
    train_network.train(args)
    File “D:\1111\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\sd_scripts\train_network.py”, line 554, in train
    accelerator.backward(loss)
    File “D:\1111\stable-diffusion-webui\venv\lib\site-packages\accelerate\accelerator.py”, line 882, in backward
    self.scaler.scale(loss).backward(**kwargs)
    File “D:\1111\stable-diffusion-webui\venv\lib\site-packages\torch\_tensor.py”, line 488, in backward
    torch.autograd.backward(
    File “D:\1111\stable-diffusion-webui\venv\lib\site-packages\torch\autograd\__init__.py”, line 197, in backward
    Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
    torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 512.00 MiB (GPU 0; 12.00 GiB total capacity; 10.83 GiB already allocated; 0 bytes free; 11.10 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%| | 1/2200 [00:42<26:15:21, 42.98s/it, loss=0.0435]

    • 悠 より:

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

      これってローカル版ですよね?VRAM12GBのGPUっぽいんで、3060とかを使用されているんでしょうか?
      CUDA out of memoryなので、VRAM不足でエラー落ちしてるんですよね。

      ただVRAM12GBで落ちるとは考えづらいので、学習中に画像生成を同時に行ったり、何かGPUを消費するような重たいゲームを起動したりはしていませんか?

      • DA より:

        ご返答ありがとうございます。
        一応は生成せず放置しているんですけどね…
        chromeぐらいしか開いていません。
        GPU使用率も50%も到達していないですし・・・

        [Dataset 0]
        loading image sizes.
        100%|█████████████████████████████████████████████████████████████████████████████████| 11/11 [00:00<00:00, 169.68it/s]
        make buckets
        number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
        bucket 0: resolution (512, 512), count: 110
        mean ar error (without repeats): 0.0
        prepare accelerator
        load StableDiffusion checkpoint
        loading u-net:
        loading vae:
        loading text encoder:
        [Dataset 0]
        caching latents.
        100%|██████████████████████████████████████████████████████████████████████████████████| 11/11 [00:01<00:00, 7.46it/s]
        import network module: networks.lora
        create LoRA network. base dim (rank): 128, alpha: 64.0
        create LoRA for Text Encoder: 72 modules.
        create LoRA for U-Net: 192 modules.
        enable LoRA for text encoder
        enable LoRA for U-Net
        prepare optimizer, data loader etc.
        use Lion optimizer | {'weight_decay': 0.1, 'betas': (0.9, 0.99)}
        override steps. steps for 20 epochs is / 指定エポックまでのステップ数: 2200
        running training / 学習開始
        num train images * repeats / 学習画像の数×繰り返し回数: 220
        num reg images / 正則化画像の数: 0
        num batches per epoch / 1epochのバッチ数: 110
        num epochs / epoch数: 20
        batch size per device / バッチサイズ: 1
        gradient accumulation steps / 勾配を合計するステップ数 = 1
        total optimization steps / 学習ステップ数: 2200
        steps: 0%| | 0/2200 [00:00> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
        Traceback (most recent call last):
        File “D:\1111\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train_ui.py”, line 121, in on_train_begin_click
        train.train(cfg)
        File “D:\1111\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 68, in train
        train_network.train(args)
        File “D:\1111\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\sd_scripts\train_network.py”, line 554, in train
        accelerator.backward(loss)
        File “D:\1111\stable-diffusion-webui\venv\lib\site-packages\accelerate\accelerator.py”, line 882, in backward
        self.scaler.scale(loss).backward(**kwargs)
        File “D:\1111\stable-diffusion-webui\venv\lib\site-packages\torch\_tensor.py”, line 488, in backward
        torch.autograd.backward(
        File “D:\1111\stable-diffusion-webui\venv\lib\site-packages\torch\autograd\__init__.py”, line 197, in backward
        Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
        torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 512.00 MiB (GPU 0; 12.00 GiB total capacity; 10.70 GiB already allocated; 0 bytes free; 10.82 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%|

        • 悠 より:

          「タスクマネージャー」の「詳細」タブに列を追加することで、VRAMの消費量(専用GPUメモリ)がリアルタイムで確認できます。
          下の記事のやり方が参考になると思います。
          https://johobase.com/task-manager-set-column/#i-11

          何かメモリを食っている原因が見つかったりはしないでしょうか?

          • DA より:

            ありがとうございます。
            確認したところGPUは問題ないのですが、パイロンとchromeを開いてるとメモリが80%位まで上昇しているのですが、こちらは関係ありますでしょうか?

          • 悠 より:

            Cpuの下のメモリですよね。いやそっちは関係ないと思うんですよね…
            ちなみにメモリ8GBだったりしますか?16GB以上なら問題ないと思うんですが

            Batch sizeは恐らく1にしていると思うので、net dimの値を64(初期値の半分)、alphaを32(初期値の半分)に設定すると消費VRAMが抑えられるので学習できるかもしれません。

            LoRA学習はVRAM6GBあればギリギリできるはずなので、どうして12GBでエラーが出るのか不思議です…

          • DA より:

            ありがとうございます。
            net dimの値を32にしてやり直しましたが、やはりテキストファイルだけ作られて作成できませんでした。
            メモリは16GBです。

          • kr より:

            同じ症状でしたがUse xformersにチェックを入れたら無事開始されました!

  23. ナナシ より:

    素敵な記事をありがとうございます。
    こちらを参考にローカル環境でのLoRAの自作に取り組んでみたのですが、データセットのアップロードは上手くいったものの、トレイン実行時にエラーが出ているようでお力添えいただきたく思います。エラー内容は

    [Dataset 0]
    loading image sizes.
    100%|███████████████████████████████████████████████████████████████████████████████| 20/20 [00:00<00:00, 19996.68it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 240
    mean ar error (without repeats): 0.0
    prepare accelerator
    Using accelerator 0.15.0 or above.
    load StableDiffusion checkpoint
    loading u-net:
    loading vae:
    loading text encoder:
    Replace CrossAttention.forward to use xformers
    [Dataset 0]
    caching latents.
    100%|██████████████████████████████████████████████████████████████████████████████████| 20/20 [00:02<00:00, 6.74it/s]
    import network module: networks.lora
    create LoRA network. base dim (rank): 128, alpha: 64.0
    create LoRA for Text Encoder: 72 modules.
    create LoRA for U-Net: 192 modules.
    enable LoRA for text encoder
    enable LoRA for U-Net
    prepare optimizer, data loader etc.
    use Lion optimizer | {'weight_decay': 0.1, 'betas': (0.9, 0.99)}
    override steps. steps for 20 epochs is / 指定エポックまでのステップ数: 4800
    running training / 学習開始
    num train images * repeats / 学習画像の数×繰り返し回数: 480
    num reg images / 正則化画像の数: 0
    num batches per epoch / 1epochのバッチ数: 240
    num epochs / epoch数: 20
    batch size per device / バッチサイズ: 1
    gradient accumulation steps / 勾配を合計するステップ数 = 1
    total optimization steps / 学習ステップ数: 4800
    steps: 0%| | 0/4800 [00:00<?, ?it/s]epoch 1/20
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    A matching Triton is not available, some optimizations will not be enabled.
    Error caught was: No module named 'triton'
    Train Tools: train.train error replace_unet_cross_attn_to_xformers..forward_xformers() got an unexpected keyword argument ‘encoder_hidden_states’
    Traceback (most recent call last):
    File “C:\Users\xryuk\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train_ui.py”, line 121, in on_train_begin_click
    train.train(cfg)
    File “C:\Users\xryuk\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 68, in train
    train_network.train(args)
    File “C:\Users\xryuk\stable-diffusion-webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\sd_scripts\train_network.py”, line 538, in train
    noise_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1194, in _call_impl
    return forward_call(*input, **kwargs)
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\accelerate\utils\operations.py”, line 495, in __call__
    return convert_to_fp32(self.model_forward(*args, **kwargs))
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\torch\amp\autocast_mode.py”, line 14, in decorate_autocast
    return func(*args, **kwargs)
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\diffusers\models\unet_2d_condition.py”, line 582, in forward
    sample, res_samples = downsample_block(
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1194, in _call_impl
    return forward_call(*input, **kwargs)
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\diffusers\models\unet_2d_blocks.py”, line 837, in forward
    hidden_states = attn(
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1194, in _call_impl
    return forward_call(*input, **kwargs)
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\diffusers\models\transformer_2d.py”, line 265, in forward
    hidden_states = block(
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1194, in _call_impl
    return forward_call(*input, **kwargs)
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\diffusers\models\attention.py”, line 291, in forward
    attn_output = self.attn1(
    File “C:\Users\xryuk\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py”, line 1194, in _call_impl
    return forward_call(*input, **kwargs)
    TypeError: replace_unet_cross_attn_to_xformers..forward_xformers() got an unexpected keyword argument ‘encoder_hidden_states’

    steps: 0%| | 0/4800 [00:27<?, ?it/s]

    別の方のコメントや調べた限りでもTritonについては気にしなくていいとのことだったので、原因はそれ以降の「予期せぬキーワードを受け取った」という部分とにらんでいるのですが、解決方法が分からず困っております。

    大変お忙しいとは思いますが、返信お待ちしております。

  24. まさ より:

    お世話になっております。
    正則化画像を使った学習なのですが、gitにある説明の通りにdatasetにregフォルダを作り画像を入れているのですが、動かしてみると正則化画像の数0となっています。
    何が間違ってがいるのかわからないので、ご教示願います。
    よろしくお願いします。

  25. まさ より:

    すいません、解決しました。
    階層間違えていました。申し訳ございません。

  26. ぬおん より:

    すいません。
    「sd-webui-train-tools」でLoRAを作ったのですが、LoRA学習自体は問題なく完了するものの、全く内容が反映されないという現象が起きています。

    学習元画像:アマガエルの絵
    http://dec.2chan.net/up2/src/fu2111356.jpg
    出てきたLoRA画像:金属製の腕輪(?)
    http://dec.2chan.net/up2/src/fu2111361.png

    この現象はこのアマガエルの絵に限った話ではなく、某漫画のキャラを学習させた時にも起きています。
    「Number of epochs」の数値を1000にして試してみましたが駄目でした。

    動作環境は
    GeForce RTX3060 VRAM12G
    Python3.10.9
    Git 2.40.0
    です。

    Stable Diffusion自体は問題なく使えており、txt2imgによる普通iイラスト生成ではプロンプト通りの画像も出ますし、LoRAも使えます。
    学習させるのに何か足りないものでもあるのでしょうか?
    ご教授いただければ幸いです。

    • 悠 より:

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

      Train number of repetitionsを3で学習させていると思うんですが、これを20くらいにしてもう一度試していただいてもいいでしょうか?
      私が試した感じ、繰り返し数が少なすぎると同じようにLoRAが全く反映されないことがありました。

  27. ぬおん より:

    返信ありがとうございます。
    アドバス通りTrain number of repetitionsを20で学習させてみました。
    しかし今度は風景画が出てきてしまいダメでした。

    学習元画像:アマガエルの絵と設定
    https://dec.2chan.net/up2/src/fu2111774.jpg
    https://dec.2chan.net/up2/src/fu2111777.jpg

    出てきたLoRA画像:渓谷と道の風景画
    https://dec.2chan.net/up2/src/fu2111778.png

    原因が全くわかりません。

    • 悠 より:

      画像を見る感じnumber of epochsを1に設定されていますでしょうか?
      これは少なすぎると思うので、繰り返し数は20で、学習枚数は15枚程度、number of epochsを10にして、20×15×10=3000ステップで行ってみた方が良い気がします。

      これでもダメなら何か別の原因がありそうですね。
      あとこの画像ってgenerate preview imageで自動生成された画像でしょうか?もしそうならば、実際にwebuiでloraを適用して(civitaiでDLしたLoraを使う感じで)、蛙が生成されそうなプロンプトを入れて試してみていただいてもいいでしょうか?

  28. ぬおん より:

    アドバイス通り生成したLoRAを使ってカエルを生成してみました。
    そうしたら綺麗なカエルの絵ができました!
    LoRAで生成したカエルの画像
    https://dec.2chan.net/up2/src/fu2112013.jpg

    なおこのLoRAを作った時にLoRA画像はこれです。
    https://dec.2chan.net/up2/src/fu2111975.png

    どうしてこうなったんだか…。
    でもこれでいけそうです。
    どうもありがとうございました!

  29. 匿名 より:

    パソコンのスペックにもよると思いますが、Loraの学習にはどれくらいの時間がかかりますか?

    • 悠 より:

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

      私が試した感じですと、画像10枚を使った1500ステップの学習がGTX1660Tiで1時間半くらいだった気がします。
      Colabだともっと早かったと思いますが、試したのがかなり前で記録が残っていませんでした…申し訳ありません…

      RTX4090を使ったら1/3くらいになるんでしょうかね?私も非常に興味があります!

  30. 匿名 より:

    エラーがError loading script: train_tools.py ~の場合はpipを最新のにアップデートしてください
    私はそれで解決しました

  31. サザエ より:

    お世話になっております。
    ローカル版でこちらやろうとしたのですが
    インストールのところでこちらが出るのですがどうしたらよろしいでしょうか?
    AssertionError: Extension directory already exists: C:\stable\stable-diffusion-webui\extensions\sd-webui-train-tools

    • 悠 より:

      すでにextensionフォルダ内に「sd webui train tool」のフォルダがあるのでは無いでしょうか?

      再インストールしたい場合は、1度該当フォルダを消してみた方がいいと思います!

  32. harym より:

    初コメント失礼します
    Youtubeに散らばっている解説動画などを参考に構築し、LORA学習をしようとしたところ
    最後のコマンド実行がうまくいかず、解決策を求めてこちらにたどり着きました。
    ご教授いただければ幸いです。
    python関連のファイルがない、という記述があり 、Train_network.pyなどが実際に参照先にありませんでした。
    3.10.6を素直に入れただけなのでなぜファイルがないのか、どう直したらよいのかがわかりません。
    以下実行コマンドになります

    (venv) PS C:\Windows\System32> accelerate launch –num_cpu_threads_per_process 1 train_network.py –pretrained_model_name_or_pathD:\StableDiffusion\stable-diffusion-webui\models\Stable-diffusion\chilloutmix_NiPrunedFp32Fix.safetensors –output_dirD:\StableDiffusion_TrData\outputs –dataset_configD:\StableDiffusion_TrData\datasetconfig.toml –train_batch_size=1 –max_train_epochs=10 –resolution=512,512 –optimizer_type=AdamW8bit –learning_rate=1e-4 –network_dim=128 –network_alpha=64 –enable_bucket –bucket_no_upscale –lr_scheduler=cosine_with_restarts –lr_scheduler_num_cycles=4 –lr_warmup_steps=500 –keep_tokens=1 –shuffle_caption –caption_dropout_rate=0.05 –save_model_as=safetensors –clip_skip=2 –seed=42 –color_aug –xformers –mixed_precision=fp16 –network_module=networks.lora –persistent_data_loader_workers

    (↓実行結果)

    C:\Users\PC_User\AppData\Local\Programs\Python\Python310\python.exe: can’t open file ‘C:\\Windows\\System32\\train_network.py’: [Errno 2] No such file or directory
    Traceback (most recent call last):
    File “C:\Users\PC_User\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\PC_User\AppData\Local\Programs\Python\Python310\lib\runpy.py”, line 86, in _run_code
    exec(code, run_globals)
    File “C:\Users\PC_User\AppData\Local\Programs\Python\Python310\Scripts\accelerate.exe\__main__.py”, line 7, in
    File “C:\Users\PC_User\AppData\Local\Programs\Python\Python310\lib\site-packages\accelerate\commands\accelerate_cli.py”, line 45, in main
    args.func(args)
    File “C:\Users\PC_User\AppData\Local\Programs\Python\Python310\lib\site-packages\accelerate\commands\launch.py”, line 923, in launch_command
    simple_launcher(args)
    File “C:\Users\PC_User\AppData\Local\Programs\Python\Python310\lib\site-packages\accelerate\commands\launch.py”, line 579, in simple_launcher
    raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
    subprocess.CalledProcessError: Command ‘[‘C:\\Users\\PC_User\\AppData\\Local\\Programs\\Python\\Python310\\python.exe’, ‘train_network.py’, ‘–pretrained_model_name_or_pathD:\\StableDiffusion\\stable-diffusion-webui\\models\\Stable-diffusion\\chilloutmix_NiPrunedFp32Fix.safetensors’, ‘–output_dirD:\\StableDiffusion_TrData\\outputs’, ‘–dataset_configD:\\StableDiffusion_TrData\\datasetconfig.toml’, ‘–train_batch_size=1’, ‘–max_train_epochs=10’, ‘–resolution=512,512’, ‘–optimizer_type=AdamW8bit’, ‘–learning_rate=1e-4’, ‘–network_dim=128’, ‘–network_alpha=64’, ‘–enable_bucket’, ‘–bucket_no_upscale’, ‘–lr_scheduler=cosine_with_restarts’, ‘–lr_scheduler_num_cycles=4’, ‘–lr_warmup_steps=500’, ‘–keep_tokens=1’, ‘–shuffle_caption’, ‘–caption_dropout_rate=0.05’, ‘–save_model_as=safetensors’, ‘–clip_skip=2’, ‘–seed=42’, ‘–color_aug’, ‘–xformers’, ‘–mixed_precision=fp16’, ‘–network_module=networks.lora’, ‘–persistent_data_loader_workers’]’ returned non-zero exit status 2.
    (venv) PS C:\Windows\System32>

    • 悠 より:

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

      間違ってたら非常に申し訳ないのですが、これってもしかしてAutomatic1111のWebUIを使わずに、コマンドラインで実行されてるんでしょうか?

      もしそうなら、私はそちらのやり方をまだ試したことがないので、ちょっと分からないです…

      • harym より:

        返信ありがとうございます。
        コマンドラインからの実行ですね。

        了解しました。LoRA作製はツールとやり方の組み合わせでいろいろやり方あるみたいですしね。
        コマンドでのやり方にはこだわってないので、こちらのサイト参考に色々試してみます。

  33. 風邪で2年ぶりに熱でた より:

    悠さん、いつもこのホームページにて有益な情報や知識をご提供くださり、誠にありがとうございます。私は悠さんの記事を拝見することで多くの知見を得ることができ、大変助けられております。

    ここで恐縮ではございますが、ローカル版に関する質問がございますので、お手数をおかけいたしますがご教示いただければ幸いです。

    先日、悠さんのホームページで紹介されていたTrain Toolsをインストールするため、指示された手順に従いました。まず、「Extensions」から「Install from URL」を選択し、次に「URL for extension’s git repository」欄に下記のURLを入力いたしました。

    https://github.com/liasece/sd-webui-train-tools

    その後、Installボタンを押してインストールを実行したのですが、インストール完了後にWebUIを再起動しても、「Train Tools」のタブが表示されない状況に直面しました。この問題を解決すべく、フォルダの中身を削除して再度インストールを試みましたが、結果としてやはり「Train Tools」の表示はされませんでした。

    このような状況を踏まえまして、もし解決策がございましたら、どうかお力添えいただけますでしょうか。大変お手数ではございますが、何卒よろしくお願い申し上げます。

    • 悠 より:

      コメントありがとうございます!大変嬉しいお言葉です!!!

      拡張機能の件ですが、WebUI起動時にコマンドプロンプトの方に何かエラーメッセージが表示されていませんでしょうか?
      もしありましたら教えていただけると幸いです!

      Pythonのバージョンは3.10.6でしょうか?これ以外のバージョンだと導入はできてもタブが表示されません。

      またWebUIのバージョンの可能性も考えられます。最新版のWebUIを使っていらっしゃいますか?最新版はバグが多いので、拡張機能が起動しないことよくあるんですよね。
      https://yuuyuublog.org/localwebui_update/

      上の記事で紹介しているgit logのコマンドを使うと、コミットはどのようになっていますでしょうか?

      • 風邪で2年ぶりに熱でた より:

        悠さん、お返事いただきましてありがとうございます。お忙しい中、丁寧なアドバイスをいただけること、心より感謝申し上げます。

        拡張機能の件に関しまして、まずWebUI起動時のコマンドプロンプトの方でエラーメッセージが以下のように表示されていました。

        Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
        Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
        Installing requirements for Web UI
        Error running install.py for extension C:\sd.webui\webui\extensions\sd-webui-train-tools.
        Command: “C:\sd.webui\system\python\python.exe” “C:\sd.webui\webui\extensions\sd-webui-train-tools\install.py”
        Error code: 1
        stdout:
        stderr: Traceback (most recent call last):
        File “C:\sd.webui\webui\extensions\sd-webui-train-tools\install.py”, line 8, in
        repo.git.submodule(“update”, “–init”, “–recursive”, “–force”)
        File “C:\sd.webui\system\python\lib\site-packages\git\cmd.py”, line 741, in
        return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
        File “C:\sd.webui\system\python\lib\site-packages\git\cmd.py”, line 1315, in _call_process
        return self.execute(call, **exec_kwargs)
        File “C:\sd.webui\system\python\lib\site-packages\git\cmd.py”, line 1109, in execute
        raise GitCommandError(redacted_command, status, stderr_value, stdout_value)
        git.exc.GitCommandError: Cmd(‘git’) failed due to: exit code(1)
        cmdline: git submodule update –init –recursive –force
        stderr: ‘git: ‘submodule’ is not a git command. See ‘git –help’.’

        Launching Web UI with arguments: –xformers –autolaunch
        Error loading script: train_tools.py
        Traceback (most recent call last):
        File “C:\sd.webui\webui\modules\scripts.py”, line 256, in load_scripts
        script_module = script_loading.load_module(scriptfile.path)
        File “C:\sd.webui\webui\modules\script_loading.py”, line 11, in load_module
        module_spec.loader.exec_module(module)
        File “”, line 883, in exec_module
        File “”, line 241, in _call_with_frames_removed
        File “C:\sd.webui\webui\extensions\sd-webui-train-tools\scripts\train_tools.py”, line 7, in
        from liasece_sd_webui_train_tools.ui import *
        File “C:\sd.webui\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\ui.py”, line 16, in
        from liasece_sd_webui_train_tools.train_ui import *
        File “C:\sd.webui\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train_ui.py”, line 10, in
        from liasece_sd_webui_train_tools import train
        File “C:\sd.webui\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\train.py”, line 8, in
        from liasece_sd_webui_train_tools.ArgsList import ArgStore
        File “C:\sd.webui\webui\extensions\sd-webui-train-tools\liasece_sd_webui_train_tools\ArgsList.py”, line 22, in
        import liasece_sd_webui_train_tools.sd_scripts.train_network as train_network
        ModuleNotFoundError: No module named ‘liasece_sd_webui_train_tools.sd_scripts.train_network’

        Loading weights [e4b17ce185] from C:\sd.webui\webui\models\Stable-diffusion\anything-v4.5-pruned.ckpt
        Creating model from config: C:\sd.webui\webui\configs\v1-inference.yaml
        LatentDiffusion: Running in eps-prediction mode
        DiffusionWrapper has 859.52 M params.
        Loading VAE weights specified in settings: C:\sd.webui\webui\models\VAE\vae-ft-mse-840000-ema-pruned.safetensors
        Applying xformers cross attention optimization.
        Textual inversion embeddings loaded(2): badhandv4, EasyNegative
        Model loaded in 4.4s (load weights from disk: 1.4s, create model: 0.4s, apply weights to model: 0.5s, apply half(): 0.6s, load VAE: 0.1s, move model to device: 0.5s, load textual inversion embeddings: 0.9s).
        Running on local URL: ttp://127.0.0.1:7860

        To create a public link, set `share=True` in `launch()`.
        Startup time: 13.1s (import torch: 2.1s, import gradio: 1.7s, import ldm: 0.7s, other imports: 1.9s, load scripts: 0.9s, load SD checkpoint: 4.5s, create ui: 1.0s, gradio launch: 0.2s).

        chatgptに上記のエラーについて解決策を提案した際には

        このエラーメッセージは、Web UI のインストールと実行中にいくつかの問題が発生したことを示しています。以下の手順で問題を解決してみてください。

        最初のエラーは、git コマンドで問題が発生していることを示しています。git submodule update –init –recursive –force コマンドが失敗しています。git: ‘submodule’ is not a git command というエラーが出ているので、git のバージョンが古いか、インストールされていない可能性があります。git を最新バージョンにアップデートしてみてください。

        次に、ModuleNotFoundError: No module named ‘liasece_sd_webui_train_tools.sd_scripts.train_network’ というエラーがあります。これは、必要な Python モジュールが見つからないことを示しています。liasece_sd_webui_train_tools パッケージが正しくインストールされていることを確認してください。requirements.txt がある場合は、pip install -r requirements.txt を実行して依存関係をインストールできます。

        もし依然として問題が解決しない場合、アプリケーションの作者やコミュニティに連絡して、問題の解決を試みることができます。彼らは、エラーが発生している理由についてより詳細な情報を提供できるかもしれません。

        と返答がきました。お恥ずかしながらかなり初心者なため返答内容から具体的な解決策が理解できておらず困っている次第です…。

        次に、Pythonのバージョンについてですが、私の確認と認識が正しければ3.10.6を使用しております。ご指摘いただいた通り、他のバージョンではタブが表示されない可能性があるため、バージョンは適切だと思われます。

        またWebUIのバージョンを早速確認させていただきました。
        記事で紹介されておりましたgit logのコマンドを使うと、コミットは以下のようになります。
        commit 3856ada5cc9ac4124e20ff311ce7aa77330845d9

        最後に、この度は質問に対してお返事いただき、誠にありがとうございます。私はまだ知識が浅く初心者ですが、そんな私にも分かりやすく丁寧に説明してくださり、感謝の気持ちでいっぱいです。悠さんのおかげで、今回の問題に対して自信を持って取り組むことができます。

        改めて、悠さんからいただいたアドバイスに基づいて、問題解決に向けて引き続き努力いたします。何か進展がありましたら、またこちらでご報告させていただきます。引き続きお力添えいただけますと幸いです。今後ともどうぞよろしくお願い申し上げます。

        • 悠 より:

          エラーコードありがとうございます!

          https://yuuyuublog.org/localwebui_update/
          上の記事の方法のgit checkoutでコミットをa9fed7c364061ae6efb37f797b6b522cb3cf7aa2
          に変更すると動くようになりませんでしょうか?

          • 病み上がり より:

            悠さん、

            この度は、Train Toolsが表示されないという問題に対して、数多くのアドバイスやご指導をいただき、心より感謝申し上げます。おかげさまで、遂に問題が解決いたしました。

            解決できた理由は、たくさんのエラーがあり原因は1つではなかったためチャットGPTを利用してエラー構文をひたすら修正し、それを実行したことによります。しかし、この解決策を見つけることができたのも、悠さんが最初にアドバイスをくださったおかげです。そのことに深く感謝しております。

            悠さんがこれまでに丁寧かつ熱心にサポートしてくださったおかげで、私は問題に対する理解を深め、自分自身で解決策を模索する力を身につけることができました。悠さんのお力添えなしには、この問題を解決することはできなかったと思います。

            再度、悠さんへの感謝の気持ちを申し上げます。これからも、悠さんのような方々と共に学び、成長していけることを願っております。どうぞこれからもよろしくお願い申し上げます。本当にありがとうございました。

          • 悠 より:

            おおお!解決できたんですね!
            それに風邪も治られたようで何よりです!

            ChatGPT流石ですね~。私も少しでもお役に立てたのでしたら、非常に嬉しいです!!

  34. まーく より:

    colab環境で記事の通りに設定しても「Train Tools」のタブが表示されていません
    colab側の「/content/stable-diffusion-webui/extensions/sd-webui-train-tools」の中にはディレクトリもファイルも存在していました
    そして「Extensions」のタブで拡張機能の一覧表には、「sd-webui-train-tools」が表示されていました
    拡張機能と認識されているのに「Train Tools」のタブが表示されない原因は何でしょうか?
    調べることが有れば教えてください

    • 悠 より:

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

      セル内にエラーメッセージが表示されていませんでしょうか?もしありましたら教えていただけると幸いです。
      また下記の記事の方法でpythonのバージョンを3.10.6にしていますでしょうか?
      https://yuuyuublog.org/stablediffusion_python3106/

      これ以外のバージョンだと導入はできてもタブが表示されません。

  35. horik より:

    悠さんはじめまして。

    このブログを参考にローカル環境 Ubuntu22.04にてLoRAの作成を試みたのですがCUDA out of memoryが発生してしまいました。
    なにか解決策などありましたら、ご教授よろしくお願いします。

    =====マシンスペック=====
    CPU: ntel Core i7-12700K [3.6GHz/12コア(Pコア8+Eコア4)20スレッド/UHD770/TDP125W] Alder Lake-S
    MEM: 32GB[16GB*2枚] DDR4-3200
    VGA: eForce RTX3060 12GB MSI製 GeForce RTX 3060 AERO ITX 12G OC

    =====コンソールログ=====
    [Dataset 0]
    loading image sizes.
    100%|██████████████████████████████████████████| 3/3 [00:00<00:00, 19478.19it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 30
    mean ar error (without repeats): 0.0
    prepare accelerator
    load StableDiffusion checkpoint
    loading u-net:
    loading vae:
    loading text encoder:
    [Dataset 0]
    caching latents.
    100%|█████████████████████████████████████████████| 3/3 [00:00<00:00, 9.91it/s]
    import network module: networks.lora
    create LoRA network. base dim (rank): 64, alpha: 32.0
    create LoRA for Text Encoder: 72 modules.
    create LoRA for U-Net: 192 modules.
    enable LoRA for text encoder
    enable LoRA for U-Net
    prepare optimizer, data loader etc.
    use Lion optimizer | {'weight_decay': 0.1, 'betas': (0.9, 0.99)}
    override steps. steps for 10 epochs is / 指定エポックまでのステップ数: 300
    running training / 学習開始
    num train images * repeats / 学習画像の数×繰り返し回数: 30
    num reg images / 正則化画像の数: 0
    num batches per epoch / 1epochのバッチ数: 30
    num epochs / epoch数: 10
    batch size per device / バッチサイズ: 1
    gradient accumulation steps / 勾配を合計するステップ数 = 1
    total optimization steps / 学習ステップ数: 300
    steps: 0%| | 0/300 [00:00> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    Traceback (most recent call last):
    File “/home/horik/github/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train_ui.py”, line 124, in on_train_begin_click
    train.train(cfg)
    File “/home/horik/github/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train.py”, line 37, in train
    train_network.train(args)
    File “/home/horik/github/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/sd_scripts/train_network.py”, line 538, in train
    noise_pred = unet(noisy_latents, timesteps, encoder_hidden_states).sample
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/accelerate/utils/operations.py”, line 507, in __call__
    return convert_to_fp32(self.model_forward(*args, **kwargs))
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/amp/autocast_mode.py”, line 14, in decorate_autocast
    return func(*args, **kwargs)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/models/unet_2d_condition.py”, line 407, in forward
    sample = upsample_block(
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/models/unet_2d_blocks.py”, line 1203, in forward
    hidden_states = attn(hidden_states, encoder_hidden_states=encoder_hidden_states).sample
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/models/attention.py”, line 216, in forward
    hidden_states = block(hidden_states, context=encoder_hidden_states, timestep=timestep)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/models/attention.py”, line 484, in forward
    hidden_states = self.attn1(norm_hidden_states) + hidden_states
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/torch/nn/modules/module.py”, line 1501, in _call_impl
    return forward_call(*args, **kwargs)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/models/attention.py”, line 589, in forward
    hidden_states = self._attention(query, key, value)
    File “/home/horik/github/stable-diffusion-webui/venv/lib/python3.10/site-packages/diffusers/models/attention.py”, line 611, in _attention
    attention_probs = attention_scores.softmax(dim=-1)
    torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 512.00 MiB (GPU 0; 11.75 GiB total capacity; 9.48 GiB already allocated; 450.44 MiB free; 9.64 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

    =====メモリログ=====
    +—————————————————————————–+
    | NVIDIA-SMI 525.105.17 Driver Version: 525.105.17 CUDA Version: 12.0 |
    |——————————-+———————-+———————-+
    | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
    | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
    | | | MIG M. |
    |===============================+======================+======================|
    | 0 NVIDIA GeForce … Off | 00000000:01:00.0 On | N/A |
    | 35% 32C P2 52W / 170W | 6847MiB / 12288MiB | 68% Default |
    | | | N/A |
    +——————————-+———————-+———————-+

    +—————————————————————————–+
    | Processes: |
    | GPU GI CI PID Type Process name GPU Memory |
    | ID ID Usage |
    |=============================================================================|
    | 0 N/A N/A 2369 G /usr/lib/xorg/Xorg 170MiB |
    | 0 N/A N/A 2504 G /usr/bin/gnome-shell 81MiB |
    | 0 N/A N/A 6380 G …886405711297770236,131072 126MiB |
    | 0 N/A N/A 8158 G …RendererForSitePerProcess 64MiB |
    | 0 N/A N/A 8918 C python 6400MiB |
    +—————————————————————————–+

    • 悠 より:

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

      多分なされていないと思うんですが、学習中にWebUIで画像生成を同時並行で行っていたりはしませんよね?

      上の方でhorikさんと同じRTX3060なのに、なぜかCUDA out of memoryが表示されてしまうという方が2人いらっしゃったんですが、そのうちの1人の方はPCの再起動で直ったそうです。
      ぜひ試してみてください。

      あとこの記事内で紹介している「Lora easy training script」や「kohya gui」の方が、設定は面倒なものの生成結果が良くなることが多いそうなので、慣れてきたら移行してみてもいいかもしれません。

      更にちなみになんですが、総ステップ300でLoraを作るのはかなり厳しいと思います。最低でも1000以上、キャラモノなら2000以上がおすすめらしいです。

      • horik より:

        悠さん返信ありがとうございます。
        総ステップ300は、あえて学習用画像を3枚にしたらメモリ不足を回避できるかなと思い試してみた次第です。

        メモリ不足に関するコメントも読ませていただいて、Net dimやAlphaの数値を半分にしたり再起動も試しましたが、やはりout of memoryを避けられませんでした。
        VRAM 12GBというのは、まだAIを扱うには足りないのでしょうか?

        それとも使っているローカル環境に何かしらの問題がある可能性がありますか?
        ソフトウェアorハードウェア上の問題として。

        • 悠 より:

          LoRAの学習はVRAM 6GBあればギリギリできます。これは実際に私がGTX1660Tiで何度も確認しています。

          pythonのバージョンは3.10.6ですよね?

          あと導入しているWebUIのバージョン(コミット)が問題の可能性もあるかもしれないですね。
          WebUIを起動すると一番最初にcomit hash~と出てくると思うんですが、そこどうなっています?
          私の場合は、下の記事で紹介しているa9fed7c364061ae6efb37f797b6b522cb3cf7aa2だと上手く動きました。
          https://yuuyuublog.org/localwebui_update/

          最新版のwebUIだともしかすると動かない可能性があるかもしれないです。

          • horik より:

            環境はこちらになります。
            3.10.9になるのですが、3.10.6に戻して試してみたらout of memoryを回避して作業に入りました!
            同じ3.10なので大丈夫かと思ったのですが、こんな些細な違いでエラーが起きるものなのですね。
            ちなみにgitばージョンは悠さんのバージョンに戻していません。

            このコメント欄が他の方の問題解決になれば幸いです。
            ありがとうございました!

            ■Python: 3.10.9 (virtualenv)
            requirements.txtをインストール済み。
            ■gitバージョン
            commit 22bcc7be428c94e9408f589966c2040187245d81 (HEAD -> master, origin/master, origin/HEAD)
            Author: AUTOMATIC
            Date: Wed Mar 29 08:58:29 2023 +0300

            attempted fix for infinite loading for settings that some people experience

          • 悠 より:

            おお!!よかったです!
            この拡張機能って3.10.6ぴったりじゃないとダメなんですねw私も驚きました!!

            普通3.10ならOKと思いますよね~。これは気づかない…!
            報告していただき誠にありがとうございます!!

  36. 匿名 より:

    大変興味深く拝見しています。
    update dataset
    で、読み込まないpng画像が多々あるのですが、読み込む画像との違いは何かお分かりになりますでしょうか。
    サイズを512*512にしてもダメで、違いがわからず困っています。

    • 悠 より:

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

      png画像の名前に日本語の文字列が入っていたり、特殊な記号が含まれていたりしませんか?
      全部01.png、02.png,,,,みたいにリネームしてみるとどうでしょうか?

      • 匿名 より:

        早速のご返信ありがとうございます。
        リネームして01-10とかa-zとかしていてもダメなんです。
        Png自体に欠陥があるとも思えず、やはりファイル名などの属性によるものなのかと格闘してるのですがなかなか。
        何か手がかりがお分かりになりましたらお願いいたします。

        • 匿名 より:

          自己解決?したかもしれません。
          stable diffusionの「その他」で等倍で画像を吐かせたら読むようになりました。
          ご参考まで・・・

  37. 匿名 より:

    昨日までは問題なく使えたのですが今日ローカル版のtrain toolsを使おうとするとTypeError: replace_unet_cross_attn_to_xformers..forward_xformers() got an unexpected keyword argument ‘encoder_hidden_states’と表示されて学習ができなくなりました。
    思い当たる節があるとすればとしあき版LoRAのupdate_sd_scripts.batを実行したくらいです

    • 悠 より:

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

      突然エラーを吐くようになるのは嫌ですね…
      私はまだそのソフトウェアを試したことがないのですが、名前的にwebuiのバージョン(コミット)を最新版にアップデートする系のスクリプトなんでしょうか?

      もしそうなら、下記の記事の方法でwebuiのバージョンを今まで使っていたものに戻すことができますよ!
      https://yuuyuublog.org/localwebui_update/

      • 匿名 より:

        その記事はすでに参照してコミットを最新と一個前のほう両方で試したんですけど改善されませんでした

  38. sr より:

    質問失礼いたします。
    環境は
    pythonのバージョン:3.10.6
    AUTOMATIC1111 Stable diffusion Web UIをCドライブ直下に展開して使用しています。
    同時に使用している拡張機能は日本語化の拡張機能のみです。
    コマンドプロンプト上に表示されるStable diffusion Web UI内のPythonのアップデートはしています。
    ファイル移動等はしていません。webui-user.bat内に–xformersを追加しています。
    ダウングレード等は試しましたがすべて同じエラーが出ます。
    現在のバージョンはCommit hash: 22bcc7be428c94e9408f589966c2040187245d81と表示されいます。
    以下がコマンドプロンプト上に表示されるエラー内容です
    Error running install.py for extension C:\sd.webui\webui\extensions\sd-webui-train-tools-main.
    Command: “C:\sd.webui\webui\venv\Scripts\python.exe” “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\install.py”
    Error code: 1
    stdout:
    stderr: Traceback (most recent call last):
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\install.py”, line 7, in
    with git.Repo(my_path) as repo:
    File “C:\sd.webui\webui\venv\lib\site-packages\git\repo\base.py”, line 282, in __init__
    self.working_dir: Optional[PathLike] = self._working_tree_dir or self.common_dir
    File “C:\sd.webui\webui\venv\lib\site-packages\git\repo\base.py”, line 363, in common_dir
    raise InvalidGitRepositoryError()
    git.exc.InvalidGitRepositoryError

    Launching Web UI with arguments: –xformers
    Error loading script: train_tools.py
    Traceback (most recent call last):
    File “C:\sd.webui\webui\modules\scripts.py”, line 256, in load_scripts
    script_module = script_loading.load_module(scriptfile.path)
    File “C:\sd.webui\webui\modules\script_loading.py”, line 11, in load_module
    module_spec.loader.exec_module(module)
    File “”, line 883, in exec_module
    File “”, line 241, in _call_with_frames_removed
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\scripts\train_tools.py”, line 7, in
    from liasece_sd_webui_train_tools.ui import *
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\ui.py”, line 16, in
    from liasece_sd_webui_train_tools.train_ui import *
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\train_ui.py”, line 10, in
    from liasece_sd_webui_train_tools import train
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\train.py”, line 8, in
    from liasece_sd_webui_train_tools.ArgsList import ArgStore
    File “C:\sd.webui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\ArgsList.py”, line 22, in
    import liasece_sd_webui_train_tools.sd_scripts.train_network as train_network
    ModuleNotFoundError: No module named ‘liasece_sd_webui_train_tools.sd_scripts.train_network’

    7時間以上格闘してもどうすることもできずに質問させていただきました。
    お忙しいところ恐縮ですがよろしくお願いいたします。

    • 悠 より:

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

      1つ確認させていただきたいのですが、Gitは下記のサイトからインストールされていますでしょうか?
      https://git-scm.com/

      gitやpythonを直接DLしなくてもいいお手軽インストーラーのようなものがあると聞いたことがあるんですよね。

      • 匿名 より:

        お忙しい中返信ありがとうございます。
        Gitも最新版をすでにインストールしています。
        そして一応ですが、この拡張機能を抜いた場合だと何もエラーが出ずに正常に立ち上げることができます。

        • 悠 より:

          https://github.com/liasece/sd-webui-train-tools/issues/22

          上記isuueのerrorがsrさんのものに近い気がするんですが、この中で開発者様が提案されてるコマンドを実行するとどうなりますでしょうか?

          それにしてもこの拡張機能なんでインストールのエラーが多いんでしょうね?私はすんなり起動できるので、絶対なにか要因はあると思うんですよね…

          • 匿名 より:

            venv/Scripts/Python.exe launch.py –listen –port 7860 –xformers –no-half-vae –enable-insecure-extension-access
            というコマンドでしょうか。開発者様が指定しているファイルで実行しても
            [Errno 2] No such file or directory
            ファイルがないと言われます。ファイルを見に行くとlauch.pyがありません。
            lauch.pyは本来はあるべきファイルなのでしょうか?

          • 悠 より:

            私も確認したんですが、launch.pyはありませんでした。
            しかし、代わりにwebui-user.batのset COMMANDLINE_ARGS=の中に「–listen –port 7860 –xformers –no-half-vae –enable-insecure-extension-access」を書き込んで起動すればいいような気がします。

            これだとどうなるのでしょうか?

            後、–listen –enable-insecure-extension-accessの組み合わせはセキュリティ上あまりよくないという記事を見ました。ですので、もしこの方法で動いたとしても、traintoolを使わないときは該当オプションを削除しておいた方が良い気がします。

  39. sr より:

    set COMMANDLINE_ARGS=–listen –port 7860 –xformers –no-half-vae –enable-insecure-extension-access
    のように書き加えましたが以下のエラーが表示されました
    ‘N’ は、内部コマンドまたは外部コマンド、
    操作可能なプログラムまたはバッチ ファイルとして認識されていません。
    ‘et’ は、内部コマンドまたは外部コマンド、
    操作可能なプログラムまたはバッチ ファイルとして認識されていません。
    ‘DLINE_ARGS’ は、内部コマンドまたは外部コマンド、
    操作可能なプログラムまたはバッチ ファイルとして認識されていません。

    またinstall.pyのエラーも同様に表示されます
    何か間違ってるでしょうか…?
    それとさらにコメントへの返信ができなかったので別の新しい質問として投げさせていただきました。

    • 悠 より:

      おそらくなんですが、set COMMANDLINE_ARGSへの記述に何かしらのミスがあると思います。
      下の画像の赤枠のように記載されていますでしょうか?

      https://yuuyuublog.org/wp-content/uploads/2023/04/スクリーンショット-828.png

      私も試してみましたがエラーなくwebUIが起動しました。

      • sr より:

        画像のようにやったら記述のエラーはなくなりましたがやはりエラーが出ます
        Error running install.py for extension C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main.
        Command: “C:\Stable deiffusion web ui\system\python\python.exe” “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\install.py”
        Error code: 1
        stdout:
        stderr: Traceback (most recent call last):
        File “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\install.py”, line 7, in
        with git.Repo(my_path) as repo:
        File “C:\Stable deiffusion web ui\system\python\lib\site-packages\git\repo\base.py”, line 282, in __init__
        self.working_dir: Optional[PathLike] = self._working_tree_dir or self.common_dir
        File “C:\Stable deiffusion web ui\system\python\lib\site-packages\git\repo\base.py”, line 363, in common_dir
        raise InvalidGitRepositoryError()
        git.exc.InvalidGitRepositoryError

        Launching Web UI with arguments: –xformers –listen –port 7869 –no-half-vae –enable-insecure-extension-access
        Error loading script: train_tools.py
        Traceback (most recent call last):
        File “C:\Stable deiffusion web ui\webui\modules\scripts.py”, line 256, in load_scripts
        script_module = script_loading.load_module(scriptfile.path)
        File “C:\Stable deiffusion web ui\webui\modules\script_loading.py”, line 11, in load_module
        module_spec.loader.exec_module(module)
        File “”, line 883, in exec_module
        File “”, line 241, in _call_with_frames_removed
        File “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\scripts\train_tools.py”, line 7, in
        from liasece_sd_webui_train_tools.ui import *
        File “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\ui.py”, line 16, in
        from liasece_sd_webui_train_tools.train_ui import *
        File “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\train_ui.py”, line 10, in
        from liasece_sd_webui_train_tools import train
        File “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\train.py”, line 8, in
        from liasece_sd_webui_train_tools.ArgsList import ArgStore
        File “C:\Stable deiffusion web ui\webui\extensions\sd-webui-train-tools-main\liasece_sd_webui_train_tools\ArgsList.py”, line 22, in
        import liasece_sd_webui_train_tools.sd_scripts.train_network as train_network
        ModuleNotFoundError: No module named ‘liasece_sd_webui_train_tools.sd_scripts.train_network’

  40. sr より:

    残念ながらなにも変化がないです…エラーコードの内容もファイル名が変わったくらいしかないですね…諦めるしかないのでしょうか…

    • 悠 より:

      そうですか…結構可能性高そうだと思ったんですが残念です…
      もしよろしければ、githubでissueを立てて製作者様に質問されてみてはいかがでしょうか?
      それかこの記事内で紹介している「Lora Easy Training script」や「kohya gui」でもLoRAを作成できるので、そちらを試してみるのもいいかもしれません。

  41. 匿名 より:

    初めまして。colab版を使用しているのですがUpdate Datesetを推しても左側に画像が出ません。
    画像はすべて英数字で連番になっています。

    • 悠 より:

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

      Colab版だとなぜか反映されないことがあるんですよね。リモートなのでローカルと比べてモッサリしていることが原因かなと思っています。
      一度セルを再起動して、webuiをリフレッシュすれば読み込むようになりませんでしょうか?

  42. orh より:

    質問失礼します。
    この拡張機能でLoraを作った場合トリガーワードはどうなるのでしょうか。
    また、トリガーワードは指定できるのでしょうか。

    そしてLoraを実験で作ってみたのですが読み込ませてもまったく動きません(関係ない画像が出てくる)
    この場合、トリガーワードを指定できてないのが原因でしょうか…?
    ファイルサイズ的に学習はできてると思われます。
    Xformersのバージョンは0.0.20.dev526です
    (別の記事を閲覧してる際にこのバージョンが初期だとからのLoraができると書かれていたので)
    Xformersのバージョンは初期状態と更新後(上記)の2つで試しましたがどちらも別の画像が出てきます。
    お忙しいところ恐れ入りますがよろしくお願いします

    • 悠 より:

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

      この拡張機能、トリガーワードに関する設定があんまりないんですよね。webUIの花札マークからloraの詳細情報を見てみた感じ、おそらくプロジェクト名がトリガーワードになると思われます。

      それは別として、うまく学習ができていればトリガーワードなしでも効果が出ることが多いです。
      まずloraに関しては、Generate all checkpoint previewではなく、webuiで花札マークから適用して検証されていますでしょうか?Generate all checkpoint previewはあまりうまくいかないことが多いです。

      繰り返し数、画像枚数、エポック数、dim、alphaはどう設定されていますか?

      • 匿名 より:

        トリガーワードはやはりプロジェクト名ですか!
        Loraは花札マークからプロンプトに入れてます。
        繰り返し数等はこのサイトと同じように入力をしました。
        画像が悪いのかなと思い、背景が何もないverといろいろな背景でいろいろなポーズをしている2パターンで実行しましたがうまくできません。画像枚数も10枚~15枚程度です

        • 悠 より:

          同じというと、繰り返し数15、エポック5でしょうか?
          それなら15×10×5=750ですね。

          これは私のGPUが1660Tiで貧弱ということもあり、かなりステップを削減したバージョンなので、もう少しエポックを増やして総stepが2000くらいになるようにした方が良いかもしれません。

          seed値を固定して、traintool産loraを使った場合と使っていない場合では、生成される画像に変化がありますでしょうか?変化があるのならloraの出来が悪い、変化がないのならloraが適用されていない可能性があります。

          • 匿名 より:

            返信が遅れ申し訳ありません。作業中に新しいエラーが表示され自分ではどうしようもなくなってしまいました。
            tritonというモジュールが存在しないといわれています。
            Pythonのモジュールなのは分かったのですがどこでインストールすればいいのかがよくわかりません。
            pip install tritonと入力する場合はバージョンを指定してくださいとエラーが出ますがどうバージョンを指定するかが分かりません。
            どうしたらいいでしょうか…

          • 悠 より:

            tritonモジュールはwindowsには入れられないっぽいので、そのモジュールが存在しないエラーは無視してOKですよ!特に問題なく起動します!

  43. 初心者 より:

    質問失礼いたします。

    画像アップ「Update Dateset」押下後、以下エラーになります。
    TypeError: ‘<=' not supported between instances of 'int' and 'str'

    再起動しても同様です。
    ご回答の程よろしくお願いいたします。

    • 悠 より:

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

      素材画像の名前はどのようにされていますか?特殊記号とか使っていませんでしょうか?

  44. 匿名 より:

    トレーニング時に”encoder_hidden_states”というエラーが出る場合はDreamboothを削除すると直るようです。

  45. ふじろん より:

    ブログ拝見しております。とても分かりやすく丁寧で助かってます。

    本記事のcolab版を試してみたのですが、

    画像を複数枚データセットしようとすると、1枚だけしかデータセットされません。
    いくつか他の画像でも試してましたが、結果は同じです。なぜか1枚だけデータセットされる。
    ローカルだと同じ画像でも問題はおきませんでした。

    コンソールでは次のエラーがでております。

    Preprocessing [Image 0/9]: 0% 0/9 [00:02<?, ?it/s]
    Train Tools: dataset update error '<=' not supported between instances of 'int' and 'str'
    Traceback (most recent call last):
    File "/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/dateset_ui.py", line 106, in on_ui_update_dataset_click
    modules.textual_inversion.preprocess.preprocess(None, origin_preload_data_path, processed_output_path,
    File "/content/stable-diffusion-webui/modules/textual_inversion/preprocess.py", line 22, in preprocess
    preprocess_work(process_src, process_dst, process_width, process_height, preprocess_txt_action, process_keep_original_size, process_flip, process_split, process_caption, process_caption_deepbooru, split_threshold, overlap_ratio, process_focal_crop, process_focal_crop_face_weight, process_focal_crop_entropy_weight, process_focal_crop_edges_weight, process_focal_crop_debug, process_multicrop, process_multicrop_mindim, process_multicrop_maxdim, process_multicrop_minarea, process_multicrop_maxarea, process_multicrop_objective, process_multicrop_threshold)
    File "/content/stable-diffusion-webui/modules/textual_inversion/preprocess.py", line 221, in preprocess_work
    cropped = multicrop_pic(img, process_multicrop_mindim, process_multicrop_maxdim, process_multicrop_minarea, process_multicrop_maxarea, process_multicrop_objective, process_multicrop_threshold)
    File "/content/stable-diffusion-webui/modules/textual_inversion/preprocess.py", line 126, in multicrop_pic
    wh = max(((w, h) for w in range(mindim, maxdim+1, 64) for h in range(mindim, maxdim+1, 64)
    File "/content/stable-diffusion-webui/modules/textual_inversion/preprocess.py", line 127, in
    if minarea <= w * h <= maxarea and err(w, h) <= threshold),
    TypeError: '<=' not supported between instances of 'int' and 'str'

    方法は、このブログで紹介されている、maintained by Akaibu の環境でこの記事を試しています。
    解決のヒントあれば教えてもらえると助かります。

    • 悠 より:

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

      ちょうど上の方のコメントで全く同じエラーを拝見したんですが、素材画像の名前ってどんな感じで設定していますでしょうか?

      特殊記号などを使っていたりはしませんか
      ローカルでは使えるのは謎が深いですね…

      • ふじろん より:

        ありがとうございます。
        画像名はもちろん半角の英数ですが、

        なんでだろう。。って感じですよね。
        少しでも解決のヒントがわかれば幸いです

        • 悠 より:

          ちなみにpythonのバージョンのダウングレードは行いましたでしょうか?

          Python versionを実行するとどう表示されます?

          • ふじろん より:

            WebUIのバージョンを安定バージョンの次のものを使うと解決しました。
            a9fed7c364061ae6efb37f797b6b522cb3cf7aa2

            どうもありがとうございました!

  46. AA より:

    お世話になっております。上の質問の方々とは別人ですが、同様のエラー(TypeError: ‘<=' not supported between instances of 'int' and 'str')が表示されます。またバージョンは記事に書かれている方法をとっても、最新版のPython 3.10.11になるようです。

    画像のファイル名は英数字_01.jpgや英数字_00.pngなどなので問題はないはずです。

    • 悠 より:

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

      Colabのpythonのバージョンが変わってますね~。仰る通り3.10.11になってます。
      まさかこれが原因…?

      ただ、私の場合下の記事の方法で3.10.6にダウングレード出来ました。
      https://yuuyuublog.org/stablediffusion_python3106/

      AAさんの方では変わりませんでしたでしょうか?
      1番最後にpython versionのセルを実行して見ていただいてもよろしいでしょうか?import sysのところに表示されるバージョンは3.10.11になると思います。

      • AA より:

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

        その記事をもう1度試したところ、

        Preparing transaction: done
        Executing transaction: done
        installation finished.
        WARNING:
        You currently have a PYTHONPATH environment variable set. This may cause
        unexpected behavior when running the Python interpreter in Colab.
        For best results, please verify that your PYTHONPATH only points to
        directories of packages that are compatible with the Python interpreter
        in Colab: /usr/local
        Installed kernelspec py310 in /root/.local/share/jupyter/kernels/py310
        という結果が出ました。

        そしてバージョンは
        version: 3.10.11 (main, Apr 5 2023, 14:15:10) [GCC 9.4.0]
        のままのようです。

        この記事のコード単体で試しても、Web-UIのコードが入ったColabで試してもこの結果になりました。

        • 悠 より:
          • 匿名 より:

            返信ありがとうございます。
            見る場所が間違っていたようで、3.10.6にはダウングレードできたようです。

            しかし、もう1度実行したところ、TypeError: ‘<=' not supported between instances of 'int' and 'str'
            と言うエラーがやはり出てしまいました。データセットの表示も同じく1枚のみになってしまいました。

            他の方々の解決の糸口にならず申し訳ございません。

          • AA より:

            お世話になっております。

            この件について、自力で解決できましたのでその解決方法をお伝えします。

            どうしてもColab上だと問題の解決法を探しにくかったので、ローカル環境を構築し、いろいろ試しました。

            するとWebUIのバージョンをコミット版である

            a9fed7c364061ae6efb37f797b6b522cb3cf7aa2

            にすることでerrorも発生せず先に進むことが出来ました。

            これをColab上でやるやり方はわかりませんが、一応これでTypeError: ‘<=' not supported between instances of 'int' and 'str'のエラーは直るようです。

          • 悠 より:

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

            それは私も愛用している安定コミットです!バージョンが原因でしたか~

            ローカル版なら下の記事
            https://yuuyuublog.org/localwebui_update/

            colab版なら下の記事の方法でダウングレードできます!
            https://yuuyuublog.org/automatic1111downgrade/

          • 通りすがり より:

            僕も全く同じ問題で悩んでいましたが、コミット版にすることにより解決しました!
            ありがとうございました!

  47. 匿名 より:

    私もa9fed7c364061ae6efb37f797b6b522cb3cf7aa2でTypeError解決しました~
    ただしこのバージョンでデフォで入ってるxformers0.0.16ですと、Loraを作成しても全く学習していないというとんでもないトラップがあるため、一度最新のwebuiを入れてxformers,torch2.0などを導入した後にダウングレードするしかないかも?

    • 悠 より:

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

      やはりバージョンが重要なんですね~!
      xformersとtorchに関しては下記の記事でアップデート方法もまとめていますので、よかったら参考にしてください!!
      https://yuuyuublog.org/xformers_update/

      というか、え、xformers0.0.16では学習しないんですか?まさか私がなぜか反映できるLoRAを作れなくてお蔵入りしてたkohya guiの記事ってこれが原因なのでは…

      • 匿名 より:

        しないらしいですね。罠すぎる。「Use Xformers」のチェックを外せば学習する、のかも……?未検証です。

        なので現状としては
        コミット版を使用すると学習されていないLoraが出来上がり、
        新しめのバージョンを使用すると画像読み込み時のエラー(TypeError: ‘<=' not supported between instances of 'int' and 'str')が発生する。という八方ふさがりな状態っぽいです。

        どうしても使いたければsdwebuiの環境自体を2つ作り、①コミット版(画像読み込み用)、②新ver(学習実行用)にして、①のoutputから②の該当フォルダへ移植すれば一応使えはしますが、う~ん……といった感じです
        もしくは環境をもっと昔のverまで戻してみるかですね……
        ぶっちゃけ現状だと別ツール使った方が早い気もします。

        長文失礼しました。kohya guiの記事も楽しみにしてます。

        • 悠 より:

          情報本当にありがとうございます!そんな罠があるとは…
          xformersのバージョンまで関係しているなんて、LoRA作成は恐ろしいですね…!

          記事内に追記させていただきました!!

  48. おみ より:

    Begin trainを押した後、以下でストップしてしまいました。colab版で、a9fedを使用しています。
    お忙しいところすみませんが、原因等教えていただけるとうれしいです。

    [Dataset 0]
    loading image sizes.
    100% 13/13 [00:00<00:00, 10979.85it/s]
    make buckets
    number of images (including repeats) / 各bucketの画像枚数(繰り返し回数を含む)
    bucket 0: resolution (512, 512), count: 260
    mean ar error (without repeats): 0.0
    prepare accelerator
    Using accelerator 0.15.0 or above.
    load StableDiffusion checkpoint

    • 悠 より:

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

      特にエラーが表示されず、そこでフリーズしてしまったということですよね?
      Colab版はリモート起動なので、動作に遅延があったりフリーズしてしまうことがあるんですよね。
      一度セルを中断して、再度実行する(webuiを再起動する)と処理が進みませんでしょうか?

      あとはちょうどそのタイミングでGPUの制限が来たとかあったりしないでしょうか?

      • おみ より:

        ご返信ありがとうございます!
        何度か再起動も試してみたのですが、ここで止まってしまいました。おっしゃる通りエラー等は出ていませんでした。もう少しトライしてみます!!
        しょうもない質問にご回答いただきありがとうございました!

  49. トオリスガリ より: