【Stable Diffusion】M1 macで、LoRAを作成する(kohya_ss編)
画像生成AIで楽しんでますか??
はじめに
Stable Diffusion Web UI の拡張機能であるTrain Toolsを動かす方法を紹介しましたが、pythonコードを直接編集するので、心理的安全性が良くないため、kohya_ssのGUIを使って、M1 macの内臓GPUを使いつつ、快適なLoRA作成を行いたかったので、手順をまとめました
2023.06.25追記
新しいバージョンになってから、torch2.0.0を使う様になったため、何もしなくても動く様ですね
注意事項
いつものごとく、記載内容の通りに実施して動かない場合であっても、自己責任の範囲ですので、結果に対しての責任は一切負いません。
また、pythonの機械学習モジュールについても、明確な理解をしている訳ではありませんので、あくまでも快適利用を行うためのインストール方法や利用方法を説明する事としています。
インストール方法
使用するパッケージ
本家のKohya版LoRAはコマンドプロンプトを駆使して行うため、今回は、bmaltais氏作成のWebUIバージョン(ブラウザ上で視覚的に扱うことが出来るツール)を使用します。
bmaltais氏の公式リポジトリ Kohya's GUI
https://github.com/bmaltais/kohya_ss
インストール手順
公式のリポジトリを参照して行っていただきたいのですが、今回は、内臓GPUを使いたいので、ちょっと異なる手順が含まれます。従って、執筆時点での公式インストール手順も含めて記載します
🔸インストール
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
🔸仮想環境を作成し、仮想環境に入ります
python -m venv venv
source venv/bin/activate
🔸事前準備
./setup.sh
🔸GPUを使用するために、モジュール入れ替えします(既存モジュールの削除)インストールされていない時は削除されません
pip uninstall tensorboard tensorboard-data-server tensorboard-plugin-wit tensorflow tensorflow-estimator tensorflow-macos torch torchaudio torchmetrics torchvision
🔸入れ替えモジュールをインストール
pip install torch torchvision torchaudio torchmetrics
pip install tensorflow
(torchに開発版を入れると速度向上しますが、開発版ですので、速度優先したい場合は、下記を実施してください)
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
pip install tensorflow torchmetrics
2023.06.25追記
必要なモジュールインストールは、gui.shに統合されているので、改めてインストールは不要の様です
🔸kohya_ssに必要なモジュールをインストール
pip install -U -r requirements.txt
🔸kohya_ssを起動
./gui.sh
Validating that requirements are satisfied.
All requirements satisfied.
headless: False
Load CSS...
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
こんな感じなれば、ブラウザで画面を開きます
GUIに設定する項目について
使い方は求めるLoRAによって異なりますが、最低限設定する項目だけを記載します。元イメージデータを格納する際のファイル名の付け方や、細かなパラメタ値については、公式サイトを確認してください
Dreambooth LoRA(画面最上部の大きなタブ)
最低限設定する項目です
Train model
パラメタの準備ができたら、Train modelのボタンを押せば、LoRAが作成されます
初期設定後の起動方法について
pythonの仮想環境指定が、gui.shに入っているので、下記でOK
cd kohya_ss
./gui.sh
2023.06.25追記
gui.shには、必要なモジュールのバージョンチェックが入る様になり、gui.shの下記部分について、バージョンチェックを無効にし、直接起動する必要があります
# Validate the requirements and run the script if successful
# if python "$SCRIPT_DIR/setup/validate_requirements.py" -r "$REQUIREMENTS_FILE"; then
# python "$SCRIPT_DIR/kohya_gui.py" "$@"
# fi
python "$SCRIPT_DIR/kohya_gui.py" "$@"