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/Design.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/Design.md')
| -rw-r--r-- | doc/Design.md | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/doc/Design.md b/doc/Design.md index fd4ac63..96eb505 100644 --- a/doc/Design.md +++ b/doc/Design.md @@ -181,6 +181,19 @@ Pydanticは必須とせず、`tomllib + dataclass + 明示的validation`を基æœ | images per prompt | 1 | | CPU offload | 初期値OFF | +Schedulerの文字列変換は`PipelineFactory`へ集約し、Tool層とService層には分岐を置かない。 + +| 設定値 | Diffusers実装 | 追加設定 | +|---|---|---| +| `dpmpp_2m_karras` | `DPMSolverMultistepScheduler` | `algorithm_type="dpmsolver++"`, `solver_order=2`, `use_karras_sigmas=True` | +| `dpmpp_2m_sde_karras` | `DPMSolverMultistepScheduler` | `algorithm_type="sde-dpmsolver++"`, `solver_order=2`, `use_karras_sigmas=True` | +| `euler_a` | `EulerAncestralDiscreteScheduler` | pipeline scheduler configを継承 | +| `ddim` | `DDIMScheduler` | pipeline scheduler configを継承 | +| `lcm` | `LCMScheduler` | pipeline scheduler configを継承 | + +LCM-LoRAも通常のLoRAと同じ`[[model.lora]]`でロードする。`lcm`選択時にstepsやCFGを +自動調整せず、TOMLの`generation.steps`と`generation.cfg_scale`をそのままpipelineへ渡す。 + --- ## 9. ControlNet設計 @@ -387,7 +400,7 @@ mcp-sd15 = "mcp_sd15.cli:main" | テスト種別 | GPU | 内容 | |---|---:|---| -| Config parsing | 不要 | TOML読込・型検証 | +| Config parsing | 不要 | TOML読込・型検証・scheduler enum検証 | | Path resolution | 不要 | モデルパス解決 | | MCP schema | 不要 | Tool schema検証 | | Request validation | 不要 | mode / size / image必須条件 | |
