私は従前、LoRA自作には余り関心がなく、昨年上半期に一度業務内作業の一環として自作した程度(※しかも実用に耐える精度にならず)でしたが、Flux1の描画能力や、他人様が作成したLoRAの表現力などを見て、そろそろ本格的にLoRA自作に踏み込んでみるか…と考えるに至りました。
ただ、RTX4070 12GBクラスのGPUでそれが可能なのか…という根本的な疑問もあり、しばし情勢を観察していましたが、さすがに世界は広いと言うべきか、Flux1そのものの需要の高さと言うべきか、想像以上にあっさりと12GB VRAMクラスのGPUでも完走できそうなLoRA作成プログラムが登場しましたので、早速インストールしました。
今現在、この原稿を書きつつ稼働中なので、使用方法については後述するとして、とりあえずインフラ周りのインストール方法について解説します。
…というか、わざわざ解説する必要も感じない位「超絶簡単(=GitHubの解説を読んで下さい、以上…で終わる話)」なのですが、一応書いておきます。
当初は、日本人にもおなじみKohya SS氏の鉄板プログラム「https://github.com/kohya-ss/sd-scripts」
をKohya's GUIで使用する予定で、以下の現時点最も詳細解説と思われる動画(加えて、とてもゆっくり話してくれるので聞き取りやすい)をじっくり視聴していた処ですが、
https://youtu.be/nySGu12Y05k?si=rMc83Ob4jBh3GB6O
kohya-ss氏ご本人もリポストしていたリポジトリにより、超絶シンプルなGUI環境でsd-scriptsを動作させてLoRAを作成できることがわかりました。
sd-scriptをベースにインターフェイスをGUI化したプログラムに、これまた有名なKohya's GUIがありますが、それよりシンプルなGUIを実現した「fluxgym」です。
https://github.com/cocktailpeanut/fluxgym?tab=readme-ov-file
名前の通りFlux専用の様ですが。
早速、解説動画もアップされていたので、じっくり腰を据えて導入...と思ったら、拍子抜けするほど簡単でした。特にKohya's-GUIが結構色々制約が多いことに比べれば圧倒的に。
https://youtu.be/1DyfPhIkX78?si=_WiM0Zzuz8Ju7Pw_
何なら、ここで解説を書く必要も感じないくらい簡単です。上のリポジトリのインストール手順を読んで下さい、以上…でもいい位です。
それでは身も蓋もなく、そもそも当記事の存在理由自体が消失するので、一応書いておきます。
まず、任意の場所に以下の通り、git cloneを行います。
git clone https://github.com/cocktailpeanut/fluxgym
cd fluxgym
git clone -b sd3 https://github.com/kohya-ss/sd-scripts
次に、これまた毎度おなじみ仮想環境構築です。解説ではvenvではなくenvとしているので、その通りにします。
python -m venv env
env\Scripts\activate
ここで私は少し手順を変えて、Pytorch関連ライブラリーを先にインストールします。pipの更新も同時にやっておくとよいでしょう。
pip install xformers
pip uninstall torch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
xformersを入れる以上は、一応triton2.1.0も入れておきます。詳細は、以下の記事を参照してください。
https://note.com/198619891990/n/n65cdffc0ca07
Pytorchの次に、sd-scriptsの為に必要なPythonライブラリーのインストールを行います。
cd sd-scripts
pip install -r requirements.txt
次に、fluxgym自体の為のPythonライブラリーをインストールします。
cd ..
pip install -r requirements.txt
次は、Flux1のベースモデルとclipモデルをダウンロードする訳ですが、上のリポジトリ内にリンクも保存場所も記述されているので、その通りにすればよいだけです。
(本当に解説が至れり尽くせりなので、やはり当記事の必要自体が希薄です)
起動コマンドは以下です。当然、仮想環境をアクティベートした状態でです。この部分は、自分でバッチファイルを作って自動化すべきですね。
python app.py
後は、WebUIのアドレスを開いて操作するだけです。何と、その手順迄リポジトリに動画化されています。ここまで至れり尽くせりのプログラムは久々に見ました。