Blog

サンプラーとスケジューラ

組み合わせを変えてみよう

画像生成するときの設定

 今回取り上げる「設定」はComfyUIではKSamplerノードに集約されているステップ数,CFGスケール,サンプラー,スケジューラの4つです。私は一度設定してしまうと変更することが少なく,モデルを変えても同じ設定のまま画像を生成していました。
モデルによって設定を変えれば,より好みの画像になるのではないかと考え,あれこれやってみました。

ステップ数とCFGスケール

 以前は高速化のためにLCM LoRAを使っていたので,ステップ数は8~10,CFGスケールは2.5~3でほぼ固定で使っていました。現在は,Comfy-WaveSpeedで高速化するようになったので,この2項目の設定もかなり自由度が高くなりました。ステップ数は30~70,CFGスケールは4.5~7で幅広く設定して色々試しています。設定を変えることで画像の印象が変わったり,うまくいかなかった手指の生成が改善されたりするので,一度生成した画像をリファインするときに数値を変えています。

サンプラーとスケジューラ

 過去に生成した画像を調べてみたところ,サンプラーはeuler系(eulerとeuler_a)が圧倒的に多く,ときどきdpmpp_2mを使っていました。組み合わせているスケジューラはkarras,normal,simpleの3つでした。
今回,サンプラーはeuler系(eulerとeuler_a)とdpmpp_2系(dpmpp_2mとdpmpp_2s_a)の4つ,スケジューラは上記の3つにsgm_uniform,beta,kl_optimalを加えて6つでテストしてみました。

WAI-SemiRealで設定を変えてテスト

 モデルはPony系モデルでお気に入りのWAI-SemiRealをチョイスしました。名前の通りセミリアルモデルですが,よりリアル寄りの画像を生成したいなと考えています。
ステップ数は50,CFGスケールは5.5に固定し,Comfy-WaveSpeedで高速化して生成してみました。下のサンプル画像のスケジューラは左からsgm_uniform,beta,kl_optimalです。

2m_sgm.jpg
2m_beta.jpg
2m_kl.jpg

サンプラー:dpmpp_2m/Comfy-WaveSpeed:あり 右のkl-optimalが他にはない感じです

2sa_sgm.jpg
2sa_beta.jpg
2sa_kl.jpg

サンプラー:dpmpp_2s_a/Comfy-WaveSpeed:あり 左のsgm_uniform以外は画像が荒れています

2m_sgm2.jpg
2m_beta2.jpg
2m_kl2.jpg

サンプラー:dpmpp_2m/Comfy-WaveSpeed:なし Comfy-WaveSpeedありの場合と異なる画像になります

2sa_sgm2.jpg
2sa_beta2.jpg
2sa_kl2.jpg

サンプラー:dpmpp_2s_a/Comfy-WaveSpeed:なし Comfy-WaveSpeedありの場合とほぼ同じ画像です

  • 4つのサンプラーの生成時間は以下のようになりました。
    euler 1枚6~7秒台/euler_a 1枚12~13秒台/dpmpp_2m 1枚6~7秒台/dpmpp_2s_a 1枚20~24秒台
    (参考:Comfy-WaveSpeedを使わないとき)dpmpp_2m 1枚23~25秒台/dpmpp_2s_a 1枚45~46秒台
  • eulerとdpmpp_2m,euler_aとdpmpp_2s_aはほぼ同じ印象の画像が生成されました。Comfy-WaveSpeedはキャッシュしたデータを使って画像を生成することで高速化するので,キャッシュを効果的に使っているサンプラーどうし,そうでないサンプラーどうしは生成される画像が似ているのだと思います。
  • dpmpp_2系で確認のためにComfy-WaveSpeedを使わない設定で画像生成しましたが,キャッシュを効果的に使っていないサンプラーでも2倍近く高速化していること,Comfy-WaveSpeedを使用するかしないかで画像に変化があることがわかりました。
  • スケジューラについては,normal,simple,sgm_uniformの3つはほぼ同じ画像が生成されました。Comfy-WaveSpeedを使った場合,eulerとdpmpp_2mはどのスケジューラでもきれいに画像が生成されますが,euler_aとdpmpp_2s_aはsimpleとsgm_uniform以外では画像が劣化した感じになることがありました。Comfy-WaveSpeedを使わなければどのスケジューラでも大丈夫でしたので高速化の影響のようです。

好みの組み合わせは…

 今回テストをしてWAI-SemiRealで個人的に気に入った組み合わせは以下の3つです。

  • dpmpp_2m(euler)+kl_optimal
     Comfy-WaveSpeedを使うときだけですが,全体的に赤みがかった感じになるのが特徴です。ステップ数で調整できるので肌色がいい感じになるところがいいです。
ComfyUI_00037_.jpg
ComfyUI_00044_.jpg

左(上)は以前LCM LoRAを使っていたときと同様の設定,右(下)はでdpmpp_2m(euler)+kl_optimalでリファインしたものです

  • dpmpp_2m(euler)+beta
     スケジューラでbetaを使うと生成される画像の印象が好みの感じに変わる点がいいです。
  • euler_a(dpmpp_2s_a)+sgm_uniform
     生成に時間はかかりますが,dpmpp_2m(euler)よりも華やかな感じの画像が生成される印象でいいです。
次回は,他のモデルでテストしようと思います。

この記事へのコメント

コメントはまだありません。

コメントを送る

必須
必須  
※ メールアドレスは公開されません
任意
必須
Loading...  画像の文字を入力してください
9
10
11
12
13
14
15
16