From fd987cb31fd20483080f8d80ce35b53f101f243f Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sat, 12 Sep 2026 20:12:17 +0900 Subject: feat: SD 1.x向けScheduler対応を5種類に整理 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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の実インスタンス構築を確認。 --- doc/Specifications.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'doc/Specifications.md') diff --git a/doc/Specifications.md b/doc/Specifications.md index 0fb6451..1b98f96 100644 --- a/doc/Specifications.md +++ b/doc/Specifications.md @@ -169,7 +169,7 @@ weight = 0.5 [generation] steps = 25 cfg_scale = 7.0 -scheduler = "dpmpp_2m" +scheduler = "dpmpp_2m_karras" default_size = "square_512" [controlnet.depth] @@ -189,6 +189,21 @@ model = "control_v11p_sd15_inpaint.safetensors" directory = "./outputs" ``` +### 7.1 Scheduler + +`generation.scheduler`は次の5種類のみを許可し、既定値は`dpmpp_2m_karras`とする。 + +| 値 | 動作 | +|---|---| +| `dpmpp_2m_karras` | DPM++ 2M + Karras sigmas | +| `dpmpp_2m_sde_karras` | DPM++ 2M SDE + Karras sigmas | +| `euler_a` | Euler Ancestral | +| `ddim` | DDIM | +| `lcm` | Latent Consistency Model scheduler | + +`lcm`選択時も`steps`と`cfg_scale`は設定値をそのまま使用する。LoRAファイル名から +LCM-LoRAを推測したり、生成設定を自動変更したりしない。 + --- ## 8. CLI要件 -- cgit v1.2.3