とにかくコレに関するシンプルなノード解説のページが存在しなかったため執筆。
このページを読む上での前提条件
ComfyUI
を使う(webUIではない)ComfyUI Manager
がインストールしてあることComfyUI Manager
のInstall Models
から
LCM LoRA SD1.5
をインストール(SDXLを使う場合はLCM LoRA SDXL
?未検証)
恐らく最小構成は次。
LoaraLoaderModelOnly
(検索名も同じ)を出してCheckpointのモデルを接続。
ここのlora_name
に上でDLしたモデルを設定する。
モデル名はpytorch_lora_weights.safetensors
になっているはず。
ModelSamplingDiscrete
(検索名も同じ)を配置しsamplingをlcm
に設定する
なぜこれが必要なのかは分かっていない。無くてもなんとかなるが挿すのが基本の模様。
出る絵が悪くなる?
ModelSamplingDiscrete
からKSampler
のmodel
に繋ぐ。
次に設定する
cfg
を1-2
のに設定するsampler_name
をlcm
に設定するscheduler
は割りと何でも良いがsimple
にしている人を多く見かける(一番軽い?あとは実行するだけ。
私の環境だと生成時間は半分程度になる。
これはAnimateDiffのような処理が重いノードの組み方と併用するとかなり有用なのではないだろうか。
参考までにLCM-LoRAを使ったときとそうでないときを比較(RTX 3060)
LCM-LoRA | 通常の生成 | |
---|---|---|
生成時間 | 7.25秒 | 16.72秒 |
生成結果 |
LCMのほうがプロンプトに忠実で絵として完成している。
LCMがない方がディティールはあるが、書き込みきれてない感じ。人物も入ってしまう。
個人的にAnimateDiff
で使うとチェックポイントを変えても同じような絵が出がち。
まだ新しい技術だからか色々不具合もあるかもしれないのでこれだけ使うのではなく選択肢の一つとして考えたい。