<-

Web uiで150ステップ以上の画像を生成する方法

web uiではサンプリングステップを変えられますが、それには上限があります

上限は150 stepsで、それ以上やる意味はないと思いますが、好奇心には勝てません

今回は限界突破する方法を紹介します


設定を書き換える

実はその150 stepsという最大値は設定によって変えれます

設定というのはSettingsではなくui-config.jsonのことでこの中により詳細、より低レベルの設定が含まれています

そのなかにtxt2img/Sampling steps/maximumという設定があります

デフォルトでは150に設定されている、要はこれをいじれば好きなステップ数で画像を生成できるわけです


ui-config.json の場所

ui-config.jsonwebui.shwebui-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

10000 steps

1000 steps

1000 steps

50 steps

50 steps


予想外の結果になりました

50stepsから1000stepsでも大きくアングルや態勢が変わっていますが1000stepsから10000stepsでより大きく変わっています

色まで変わってしまうのは予想外でした、100000stepsをやってみても面白いかもしれません


今回はここまで、ではまたいつか!