目的
挑戦した内容を備忘録として残す
環境
Google Colab
結果
今回はうまくいかなかった!!!
参考
コードを作る
# GPU 使っているか確認 !nvidia-smi # マルチセッションでダウンロードするために利用する !apt install aria2
Download Stable Diffusion
ただ、今回は v1.4.0 でやってみるため、tag 付きで clone する
# clone stable diffusion web ui !git clone -b v1.4.0 https://github.com/AUTOMATIC1111/stable-diffusion-webui # move dir %cd /content/stable-diffusion-webui
モデルを適当にダウンロード
!aria2c \ -d /content/stable-diffusion-webui/models/Stable-diffusion \ -o LastpieceCore_A0621.fp16.safetensors \ -x 2 \ https://huggingface.co/konapieces/LastpieceCore/resolve/main/models/A0621/LastpieceCore_A0621.fp16.safetensors
一応 VAE もダウンロード
!aria2c \ -d /content/stable-diffusion-webui/models/VAE \ -o vae-ft-mse-840000-ema-pruned.safetensors \ -x 2 \ https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors
Train Tool 拡張機能を入れる
!git clone https://github.com/liasece/sd-webui-train-tools.git \
/content/stable-diffusion-webui/extensions/sd-webui-train-tools
Run
!COMMANDLINE_ARGS="--share --disable-safe-unpickle --no-half-vae --xformers --enable-insecure-extension --gradio-queue" python launch.py
実行する
ランタイムの確認
ハードウェアアクセラレータが GPU であること
確認したら「保存」をクリックする
その後右上のボタンから接続
ひとつづつ実行していく
Train Tools
付きで上がってきた
プロジェクトを作る
Train Tools を開くとこんな感じ
とりあえず Create Project をクリック
プロジェクト名入力用ボックスが出てくるので入力する
念のため、半角英数+アンダーバーのみ
で
次に Create Version をクリック
同じようにボックスが出てくるので v1
と入力する
うまくいくとこのような画面になる
学習データセットをアップロード
こんな感じで準備した
ドラッグアンドドロップで Upload Dataset
の領域に送る
パラメータを指定する
参考ページに則ってこんな感じ
で、 Update Dataset
をクリックして実行
確認
outputs
ディレクトリが作られる
origin
にはオリジナルデータがある
proceeded
に何かあるかなと思ったけどなかった
大丈夫なんだろうか?
参考を見ると、ここにミクさんがいっぱいいたんだけど、私のほうにはいない
データが大きすぎるのかな?
とりあえず続きをしてみる
トレーニングパラメータの設定
base model を選択して、あとはとりあえずデフォルト
トレーニング開始
Begin train
をクリック
エラーか。むなしい
エラーログ
Train Tools: unknown base model *** Error completing request *** Arguments: ('task(59tevvl27d0q9qy)', 'handmaid_snowman', 'v1', 'LastpieceCore_A0621.fp16.safetensors', 1.0, 20.0, 2.0, True, ['Lion'], '0.0001', 128.0, 64.0, 2.0, 'fp16', True, False, False, 'best quality,Amazing,finely detail,extremely detailed CG unity 8k wallpaper', 'low quality', ['Euler a'], '28', 512, 512, 1, 1, '10', '-1', '0.6,0.7,0.8,1') {} Traceback (most recent call last): File "/content/stable-diffusion-webui/modules/call_queue.py", line 55, in f res = list(func(*args, **kwargs)) File "/content/stable-diffusion-webui/modules/call_queue.py", line 35, in f res = func(*args, **kwargs) File "/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train_ui.py", line 133, in on_train_begin_click return [None]+on_ui_preview_generate_all_preview_btn_click(id, project, version, train_name, UnboundLocalError: local variable 'train_name' referenced before assignment --- Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 422, in run_predict output = await app.get_blocks().process_api( File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1326, in process_api data = self.postprocess_data(fn_index, result["prediction"], state) File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1257, in postprocess_data assert isinstance( AssertionError: <class 'gradio.layouts.Box'> Component with id 1223 not a valid output component.
Train Tools: unknown base model
か
upload dataset で何か問題が起きているような気がする
データセットを変えてリトライ
プロジェクトを新しく作って、データセットを変更してリトライした
パラメータを再確認してリトライ
Go Train!!
ERROR か
Train Tools: unknown base model *** Error completing request *** Arguments: ('task(7irvespsmtgvb51)', 'chibi_takashi', 'v1', 'LastpieceCore_A0621.fp16.safetensors', 1.0, 20.0, 2.0, True, ['Lion'], '0.0001', 128.0, 64.0, 2.0, 'fp16', True, False, False, 'best quality,Amazing,finely detail,extremely detailed CG unity 8k wallpaper', 'low quality', ['Euler a'], '28', 512, 512, 1, 1, '10', '-1', '0.6,0.7,0.8,1') {} Traceback (most recent call last): File "/content/stable-diffusion-webui/modules/call_queue.py", line 55, in f res = list(func(*args, **kwargs)) File "/content/stable-diffusion-webui/modules/call_queue.py", line 35, in f res = func(*args, **kwargs) File "/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train_ui.py", line 133, in on_train_begin_click return [None]+on_ui_preview_generate_all_preview_btn_click(id, project, version, train_name, UnboundLocalError: local variable 'train_name' referenced before assignment --- Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 422, in run_predict output = await app.get_blocks().process_api( File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1326, in process_api data = self.postprocess_data(fn_index, result["prediction"], state) File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1257, in postprocess_data assert isinstance( AssertionError: <class 'gradio.layouts.Box'> Component with id 1223 not a valid output component.
あれー?またか。
Stable Diffusion V2 の Base モデルを利用してリトライ
GO
ERROR !?
Train Tools: unknown base model *** Error completing request *** Arguments: ('task(gk1jeitycwbp2q0)', 'chibi_takashi', 'v1', 'LastpieceCore_A0621.fp16.safetensors', 1.0, 20.0, 2.0, True, ['Lion'], '0.0001', 128.0, 64.0, 2.0, 'fp16', True, True, False, 'best quality,Amazing,finely detail,extremely detailed CG unity 8k wallpaper', 'low quality', ['Euler a'], '28', 512, 512, 1, 1, '10', '-1', '0.6,0.7,0.8,1') {} Traceback (most recent call last): File "/content/stable-diffusion-webui/modules/call_queue.py", line 55, in f res = list(func(*args, **kwargs)) File "/content/stable-diffusion-webui/modules/call_queue.py", line 35, in f res = func(*args, **kwargs) File "/content/stable-diffusion-webui/extensions/sd-webui-train-tools/liasece_sd_webui_train_tools/train_ui.py", line 133, in on_train_begin_click return [None]+on_ui_preview_generate_all_preview_btn_click(id, project, version, train_name, UnboundLocalError: local variable 'train_name' referenced before assignment --- Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/gradio/routes.py", line 422, in run_predict output = await app.get_blocks().process_api( File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1326, in process_api data = self.postprocess_data(fn_index, result["prediction"], state) File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1257, in postprocess_data assert isinstance( AssertionError: <class 'gradio.layouts.Box'> Component with id 1223 not a valid output component.
んー。 train_ui.py
今度ちゃんと見る
今後
またリトライする