とにかくコレに関するシンプルなノード解説のページが存在しなかったため執筆。
このページを読む上での前提条件
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で使うとチェックポイントを変えても同じような絵が出がち。
まだ新しい技術だからか色々不具合もあるかもしれないのでこれだけ使うのではなく選択肢の一つとして考えたい。
