DistanceSampler
サンプリングにおいて、前半が全体的な構図を司るのため、時間をかけて前半の精度を上げる
ChatGPT.icon
最初の数ステップで複数回サンプリングし、それぞれの「 候補」を取得。
正規化した候補同士の差分(距離)を計算し、「他と近い=信頼度大」という重みを作る。
推奨設定
steps : 7
sampler
Distance
Distance n : negativeも含む
AYSだとモデルとの相性がわりと出る感じなので取り敢えずで使うならbetaを選んでおくほうが良さそうmorisoba65536.icon
FLUX.1-dev
https://gyazo.com/354ffcf53086866b45204e030d128c23
← Euler | Distance(beta) →
ComfyUI_workflow
https://gyazo.com/796b6ea1bf848af335dd479e7a2d25ce
🟩デフォルトのKSamplerに選択肢が追加されている
HiDream-FUllだとSampler切り替えながらだと合計15stepほど必要だったがWan2.1(後述のDistance_fast_nを使用)だと、CFG-Zero*やSkipLayerGuidanceも併用してだが11stepほどでも良い結果が出せるので、多重スケジューラで処理する場合の収束ステップ数はモデルに依存する可能性はありそうだ(HiDream向けもCFGZeroなどを使えばstepを減らせる可能性はある)morisoba65536.icon HiDream-I1向けの(上記DistanceSamplerを最初と最後に適用した)Workflow、Full向けなので最終stepに3step分DistanceSamplerを費やしているがDEVであれば1stepでも十分なことが多い https://gyazo.com/b8f8d85ea9e446f0bc7eb46321bff2e0
# extra_samplers"Distance_fast" = distance_wrap(resample=3,resample_end=1,cfgpp=False,sharpen=False) # extra_samplers"Distance_fast_n" = distance_wrap(resample=3,resample_end=1,cfgpp=False,sharpen=False,use_negative=True) ただしTeaCacheとの相性が悪いようで組み合わせるとうまく生成されないようだ extra_samplers"Distance_1st_only" = distance_wrap(resample=3,resample_end=1,cfgpp=False,sharpen=False,first_only=True) extra_samplers"Distance_1st_only_n" = distance_wrap(resample=3,resample_end=1,cfgpp=False,sharpen=False,first_only=True,use_negative=True) この設定では2ステップ目からはEulerを使用するためステップ数は増える(12〜15程度は必要?)、またCFG1での動作はできなくなる(普通に崩れるようになる) 試してる感じModelSamplingSD3ノードでshift値を6くらいまで上げれば10ステップくらいまでは減らせそう?(できればresample_endの値も(実際にDistanceSampler使うのが最初の1回だけなので)増やしたいところだけど)morisoba65536.icon またTeaCacheは併用してもスキップ出来るのは1ステップ程度になりがちだが、その1ステップでも動画なら30秒とか生成時間が変わってくるのでぎりぎりありかもしれないmorisoba65536.icon