summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Design.md6
-rw-r--r--doc/Specifications.md3
-rw-r--r--doc/config.md24
3 files changed, 31 insertions, 2 deletions
diff --git a/doc/Design.md b/doc/Design.md
index b5e433b..9224158 100644
--- a/doc/Design.md
+++ b/doc/Design.md
@@ -197,11 +197,17 @@ Schedulerの文字列変換は`PipelineFactory`へ集約し、Tool層とServiceå
| `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を継承 |
+| `ddim_trailing` | `DDIMScheduler` | `timestep_spacing="trailing"` |
| `lcm` | `LCMScheduler` | pipeline scheduler configを継承 |
LCM-LoRAも通常のLoRAと同じ`[[model.lora]]`でロードする。`lcm`選択時にstepsやCFGを
自動調整せず、TOMLの`generation.steps`と`generation.cfg_scale`をそのままpipelineへ渡す。
+`ddim_trailing`は`ddim`と同じ`DDIMScheduler`を使用し、`timestep_spacing="trailing"`だけを
+明示的に上書きする。Hyper-SD等の固定step LoRAと組み合わせることを想定しているが、
+LoRAファイル名による自動判定やsteps・CFGの自動補正は行わない。生成結果の再現性を保つため、
+実際に使用したscheduler名は生成メタデータへそのまま記録する。
+
---
## 9. ControlNet設計
diff --git a/doc/Specifications.md b/doc/Specifications.md
index cc178bb..c038abf 100644
--- a/doc/Specifications.md
+++ b/doc/Specifications.md
@@ -198,7 +198,7 @@ negative_file = "negative.txt"
### 7.1 Scheduler
-`generation.scheduler`は次の5種類のみを許可し、既定値は`dpmpp_2m_karras`とする。
+`generation.scheduler`は次の6種類のみを許可し、既定値は`dpmpp_2m_karras`とする。
| 値 | 動作 |
|---|---|
@@ -206,6 +206,7 @@ negative_file = "negative.txt"
| `dpmpp_2m_sde_karras` | DPM++ 2M SDE + Karras sigmas |
| `euler_a` | Euler Ancestral |
| `ddim` | DDIM |
+| `ddim_trailing` | DDIM。`timestep_spacing="trailing"`を強制 |
| `lcm` | Latent Consistency Model scheduler |
`lcm`選択時も`steps`と`cfg_scale`は設定値をそのまま使用する。LoRAファイル名から
diff --git a/doc/config.md b/doc/config.md
index 69dd3d6..5d7db2a 100644
--- a/doc/config.md
+++ b/doc/config.md
@@ -162,12 +162,15 @@ pad_last_block = false
| `dpmpp_2m_karras` | `DPMSolverMultistepScheduler`。DPM++ 2M、Karras sigmas |
| `dpmpp_2m_sde_karras` | `DPMSolverMultistepScheduler`。DPM++ 2M SDE、Karras sigmas |
| `ddim` | DDIM |
+| `ddim_trailing` | DDIM。`timestep_spacing="trailing"`を強制 |
| `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を引き継ぐ。
+`sde-dpmsolver++`へ変更する。`ddim_trailing`は`ddim`と同じ`DDIMScheduler`を使用し、
+`timestep_spacing="trailing"`だけを明示的に上書きする。他のschedulerはpipeline scheduler
+configを引き継ぐ。
### LCM-LoRA設定例
@@ -188,6 +191,25 @@ default_size = "square_512"
`lcm`選択時も`steps`と`cfg_scale`はTOML値をそのまま使用する。LCM-LoRAのファイル名を
自動判定して設定を書き換えることはない。
+### Hyper-SD設定例
+
+Hyper-SD15固定step LoRAも通常のLoRAと同じ方法で指定する。`ddim_trailing`は
+Hyper-SD向けの推奨schedulerであり、`timestep_spacing="trailing"`を強制する。
+stepsや`cfg_scale`はTOML値をそのまま使用し、LoRAファイル名による自動判定や自動補正は
+行わない。
+
+```toml
+[[model.lora]]
+file = "Hyper-SD15-4steps-lora.safetensors"
+weight = 1.0
+
+[generation]
+steps = 4
+cfg_scale = 0.0
+scheduler = "ddim_trailing"
+default_size = "square_512"
+```
+
### `default_size`
MCPツールで`size`を省略した場合に使用するサイズIDである。