diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-09-12 20:12:17 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-09-12 20:12:17 +0900 |
| commit | fd987cb31fd20483080f8d80ce35b53f101f243f (patch) | |
| tree | 0e1d04c1f233e57d05f91006c8fd04f4caf89446 /doc/config.md | |
| parent | 23f6c0850385d873d2e55926a34855c479cd3def (diff) | |
feat: SD 1.x向けScheduler対応を5種類に整理
generation.schedulerの正式対応値をdpmpp_2m_karras、dpmpp_2m_sde_karras、euler_a、ddim、lcmに限定し、既定値をdpmpp_2m_karrasへ変更する。旧dpmpp_2m、eulerおよび未知値は起動時の設定validationで拒否する。
Scheduler生成処理をPipelineFactoryへ集約する。DPM++ 2M系はDPMSolverMultistepSchedulerを共用し、algorithm_type、solver_order=2、use_karras_sigmas=Trueで通常版とSDE版を切り替える。Euler Ancestral、DDIM、LCMは現在のpipeline scheduler configを引き継いで構築する。
LCM-LoRAは既存のmodel.lora設定から通常のLoRAとして読み込み、LCM選択時にもstepsとcfg_scaleを自動調整せずTOML値をそのまま使用する。MCP Tool schemaにはscheduler入力を追加しない。
Specifications.md、Design.md、config.mdおよびconfig.example.tomlのenum、既定値、対応表、設定例を新仕様へ統一する。5 schedulerの変換、DPM++ constructor option、旧値と未知値の拒否、省略時の既定値、MCP schema非公開をテストで検証する。
検証: ruff check、ruff format --check、pyright、pytest(39 passed)、インストール済みDiffusersで5 schedulerの実インスタンス構築を確認。
Diffstat (limited to 'doc/config.md')
| -rw-r--r-- | doc/config.md | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/doc/config.md b/doc/config.md index c619d2d..804fbf8 100644 --- a/doc/config.md +++ b/doc/config.md @@ -45,7 +45,7 @@ uv run mcp-sd15 --config C:\path\to\config.toml | `model.lora[].weight` | number | No | `1.0` | | `generation.steps` | integer | No | `25` | | `generation.cfg_scale` | number | No | `7.0` | -| `generation.scheduler` | string enum | No | `dpmpp_2m` | +| `generation.scheduler` | string enum | No | `dpmpp_2m_karras` | | `generation.default_size` | string enum | No | `square_512` | | `controlnet.depth.enabled` | boolean | No | `false` | | `controlnet.depth.model` | string | 有効時 | なし | @@ -125,7 +125,7 @@ weight = 0.5 [generation] steps = 25 cfg_scale = 7.0 -scheduler = "dpmpp_2m" +scheduler = "dpmpp_2m_karras" default_size = "square_512" ``` @@ -147,10 +147,34 @@ default_size = "square_512" | 値 | Diffusers scheduler | |---|---| -| `dpmpp_2m` | DPM-Solver++、solver order 2 | +| `dpmpp_2m_karras` | `DPMSolverMultistepScheduler`。DPM++ 2M、Karras sigmas | +| `dpmpp_2m_sde_karras` | `DPMSolverMultistepScheduler`。DPM++ 2M SDE、Karras sigmas | | `ddim` | DDIM | -| `euler` | Euler Discrete | | `euler_a` | Euler Ancestral Discrete | +| `lcm` | Latent Consistency Model scheduler | + +`dpmpp_2m_karras`は`algorithm_type="dpmsolver++"`、`solver_order=2`、 +`use_karras_sigmas=true`で構築する。`dpmpp_2m_sde_karras`は`algorithm_type`だけを +`sde-dpmsolver++`へ変更する。他のschedulerはpipeline scheduler configを引き継ぐ。 + +### LCM-LoRA設定例 + +LCM-LoRAも通常のLoRAと同じ方法で指定する。 + +```toml +[[model.lora]] +file = "lcm-lora-sdv1-5.safetensors" +weight = 1.0 + +[generation] +steps = 4 +cfg_scale = 1.0 +scheduler = "lcm" +default_size = "square_512" +``` + +`lcm`選択時も`steps`と`cfg_scale`はTOML値をそのまま使用する。LCM-LoRAのファイル名を +自動判定して設定を書き換えることはない。 ### `default_size` @@ -259,7 +283,7 @@ weight = 0.5 [generation] steps = 25 cfg_scale = 7.0 -scheduler = "dpmpp_2m" +scheduler = "dpmpp_2m_karras" default_size = "square_512" [controlnet.depth] |
