📝

Windows11でStable Diffusionに任意の絵柄を学習させる備忘録

2023/05/03に公開

※ この記事はオリジナル作品の制作に生成AI使用を推奨するものではありません。あくまで技術への理解や自身の学習目的のみでお使いください

参考記事:
https://zenn.dev/szgk/articles/f9dcaa8f9cd298


概要

stable diffusionで任意の絵柄を学習させる方法の備忘録

前の記事

https://zenn.dev/szgk/articles/f7ddbd07bc50de

方法

いろいろ方法がある

textual inversion

https://webbigdata.jp/post-15059/

  • stable diffusionに新しい概念を学ばせる手法
  • 単語のembeddingのみを最適化

DreamBooth

https://webbigdata.jp/post-15118/

  • Googleの非公開の画像生成モデルであるImagenを対象にした手法
  • モデルに少数の画像を与えて新しい概念として学ばせる
  • モデル全体を最適化

LoRAとは

https://kurokumasoft.com/2023/02/24/stable-diffusion-lora/
LoRA = Low-Rank Adaptation
「追加学習」の手法の一種

他の手法よりもずっと短時間で学習させることができる
比較的低スペックなPCでも学習処理を行うことが可能
学習結果のモデルファイルが軽量

LoRA作成の備忘録

今回はLoRAを生成してみる

https://kurokumasoft.com/2023/02/24/stable-diffusion-lora/
↑の記事通りに対応

※ 注意: ↑の記事をコピペしているとハイフンが「-」(UTF-8 E2 80 93)としてコピペされてしまうので「-」(UTF-8 2D)に直して実行すること
あと –extra-index-url ではなく --extra-index-url 等に直していく

というか公式READMEに .\setup.bat をしろと書いてるのでこれを動かすだけでよかった
https://github.com/bmaltais/kohya_ss#windows

  1. pytohn3.10 前提での内容なのでpython3.10を公式サイトよりインストール-
  2. power shellで python と打つと C:\Users\ユーザー名\AppData\Local\Microsoft\WindowsApps\python.exe が実行されてWIndows Storeが開いて最新のPythonをインストールしようとしてしまうので、1でインストールした python3.10 のPATHを C:\Users\ユーザー名\AppData\Local\Microsoft\WindowsApps\python.exe より上の行に追加する
    • $ where.exe python してみて、Python310のパスが上に来ていればいい
      •   $ where.exe python
          C:\Users\ユーザー名\AppData\Local\Programs\Python\Python310\python.exe
          C:\Users\ユーザー名\AppData\Local\Microsoft\WindowsApps\python.exe`
        
      • python のバージョンが3.10になっていることを確認
        •   $ python --version
            Python 3.10.11
          
  3. kohya_ss/gui.ps1 をpower shellで実行(内容をコピペしてpower shellで実行しました
  4. http://127.0.0.1:7860/ でGUIが起動する
  5. サイトをもとにいろいろ設定した後「Train model」を押すと、画面上は何も反応しないがpower shell上にログが出てくるので待つ
  6. 完了後は xxx.safetensors が設定したディレクトリ内に出力される

stable diffusion docker で利用する

    • Loraの場合 data/Lora に入れる
    • modelの場合 data/StabeleDiffusion に入れる
  1. docker containerを立ち上げなおす

所感

  • まだ適切なLoraの生成できていないけど人の顔のテクスチャとかを自動生成できるようにしてみたい

Discussion