Web uiで150ステップ以上の画像を生成する方法
web uiではサンプリングステップを変えられますが、それには上限があります
上限は150 stepsで、それ以上やる意味はないと思いますが、好奇心には勝てません
今回は限界突破する方法を紹介します
設定を書き換える
実はその150 stepsという最大値は設定によって変えれます
設定というのはSettingsではなくui-config.jsonのことでこの中により詳細、より低レベルの設定が含まれています
そのなかにtxt2img/Sampling steps/maximumという設定があります
デフォルトでは150に設定されている、要はこれをいじれば好きなステップ数で画像を生成できるわけです
ui-config.json の場所
ui-config.jsonはwebui.shやwebui-user.batと同じ場所に配置されています
stable-diffusion-webui
models
outputs
ui-config.json
webui-user.bat
webui.sh
一部省略しています
その中を開いて編集していきます
text2imgのstep数に関しての設定はui-config.jsonの14行目です
これをこんな感じにかえます
12
13
14
-
15
+
16
"txt2img/Sampling steps/value": 20,
"txt2img/Sampling steps/minimum": 1,
"txt2img/Sampling steps/maximum": 150,
"txt2img/Sampling steps/maximum": 10000,
"txt2img/Sampling steps/step": 1,
上では150を10000に変えています
また37行目にも興味深い設定があります
35
36
37
38
"txt2img/Upscale by/value": 2.0,
"txt2img/Upscale by/minimum": 1.0,
"txt2img/Upscale by/maximum": 4.0,
"txt2img/Upscale by/step": 0.05,
これはアップスケールの設定ですが、変えてみても面白そうです
他にも186行目でimg2imgのサンプリングステップの上限を変えれたりと
眺めているだけで面白そうです
ステップ数を早くするために
10000ステップを目指すにはまだちょっとしたコツが必要です
PCを軽くする
まず、当たり前ですが不要なタスクは全て閉じましょう、可能なら再起動後Web uiだけを立ち上げた状態でやりましょう
それだけでだいぶ速度が変わってきます
サンプリングメソッドを変える
次に、一番大事なことですが、ただ単にステップ数の最大を目指すのであればサンプリングメソッドは必ず変えましょう、それだけで速度は2倍以上変わります
サンプラーはDPM++ SDE Karras系を使ってると思いますがやめましょう
速度が遅いです、代わりにEuler aを使いましょう
ただしディティールがどのように変わっていくのかをみたい場合はDPM ++ SDE Karrasの方がいいかもしれません
Euler aも変わりますが、少し変わりすぎます、言われなければ同じSeedだととても思えないレベルで変わります
これで10000ステップを目指す準備は整いました、目指しましょう
大体1ステップ1.5秒程度で終わるので大体4時間で終わります
比較
では10000ステップと50ステップトを比較してみましょう
ちなみにサンプラーはEulerを使いました

10000 steps

1000 steps

50 steps
予想外の結果になりました
50stepsから1000stepsでも大きくアングルや態勢が変わっていますが1000stepsから10000stepsでより大きく変わっています
色まで変わってしまうのは予想外でした、100000stepsをやってみても面白いかもしれません
今回はここまで、ではまたいつか!