Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -157,54 +157,64 @@ LoRA: Analog Film
|
|
| 157 |
|
| 158 |
## 🎛️ Доступные Schedulers (Samplers)
|
| 159 |
|
| 160 |
-
|
|
|
|
| 161 |
|
| 162 |
-
###
|
| 163 |
|
| 164 |
-
| Scheduler |
|
| 165 |
-
|
| 166 |
-
| **
|
| 167 |
-
|
|
| 168 |
-
|
|
| 169 |
-
|
|
| 170 |
-
| **Euler** | `euler` | 🔄 Простой и надежный |
|
| 171 |
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
| Scheduler | Alias | Особенность |
|
| 175 |
-
|-----------|-------|-------------|
|
| 176 |
-
| **DPM++ 2M** | `dpmpp_2m` | Без Karras sigmas |
|
| 177 |
-
| **DPM++ 2M Beta** | `dpmpp_2m_beta` | Beta sigmas распределение |
|
| 178 |
-
| **DPM++ 2M Exponential** | `dpmpp_2m_exp` | Exponential sigmas |
|
| 179 |
-
| **Euler Karras** | `euler_karras` | Euler с Karras |
|
| 180 |
-
|
| 181 |
-
### ⚡ Быстрые
|
| 182 |
-
|
| 183 |
-
| Scheduler | Alias | Описание |
|
| 184 |
-
|-----------|-------|----------|
|
| 185 |
-
| **UniPC** | `unipc` | Быстрая генерация |
|
| 186 |
|
| 187 |
### Использование
|
| 188 |
|
| 189 |
-
**В интерфейсе:**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
|
| 191 |
-
**В API:**
|
| 192 |
```python
|
| 193 |
-
scheduler_name="
|
| 194 |
-
scheduler_name="dpmpp_2m_karras" # Алиас (короче)
|
| 195 |
```
|
| 196 |
|
| 197 |
**Примеры:**
|
| 198 |
```python
|
| 199 |
-
#
|
| 200 |
-
scheduler_name="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 201 |
|
| 202 |
-
|
| 203 |
-
scheduler_name="Euler Ancestral", num_inference_steps=25
|
| 204 |
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 208 |
|
| 209 |
---
|
| 210 |
|
|
|
|
| 157 |
|
| 158 |
## 🎛️ Доступные Schedulers (Samplers)
|
| 159 |
|
| 160 |
+
⚠️ **Важно:** Qwen-Image использует **Flow Matching**, а не классическую diffusion!
|
| 161 |
+
Работают только **FlowMatchEulerDiscreteScheduler** с различными параметрами shift.
|
| 162 |
|
| 163 |
+
### ✅ Протестированные и рабочие schedulers:
|
| 164 |
|
| 165 |
+
| Scheduler | Время | Speedup | Алиас | Рекомендация |
|
| 166 |
+
|-----------|-------|---------|-------|--------------|
|
| 167 |
+
| **Flow Euler (Shift 0.5)** | **33.8s** | **1.00x** | `flow_euler_shift05` | 🥇 **САМЫЙ БЫСТРЫЙ** (по умолчанию) |
|
| 168 |
+
| Flow Euler (Shift 2.0) | 34.6s | 1.02x | `flow_euler_shift20` | 🥈 Быстрый + детали |
|
| 169 |
+
| Flow Euler (Shift 1.5) | 38.8s | 1.15x | `flow_euler_shift15` | 🥉 Баланс |
|
| 170 |
+
| Flow Euler (Default) | 40.2s | 1.19x | `flow_euler` | Стандарт (shift=1.0) |
|
|
|
|
| 171 |
|
| 172 |
+
*Время указано для 1024×1024, 40 steps на ZeroGPU*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 173 |
|
| 174 |
### Использование
|
| 175 |
|
| 176 |
+
**В интерфейсе:**
|
| 177 |
+
Выберите в dropdown "Sampler/Scheduler"
|
| 178 |
+
|
| 179 |
+
**В API (полное имя):**
|
| 180 |
+
```python
|
| 181 |
+
scheduler_name="Flow Euler (Shift 0.5)" # Самый быстрый!
|
| 182 |
+
```
|
| 183 |
|
| 184 |
+
**В API (алиас):**
|
| 185 |
```python
|
| 186 |
+
scheduler_name="flow_euler_shift05" # Короткий вариант
|
|
|
|
| 187 |
```
|
| 188 |
|
| 189 |
**Примеры:**
|
| 190 |
```python
|
| 191 |
+
# Для быстрой генерации (рекомендуется)
|
| 192 |
+
scheduler_name="Flow Euler (Shift 0.5)"
|
| 193 |
+
num_inference_steps=40
|
| 194 |
+
# Время: ~34s
|
| 195 |
+
|
| 196 |
+
# Для максимума деталей
|
| 197 |
+
scheduler_name="Flow Euler (Shift 2.0)"
|
| 198 |
+
num_inference_steps=50
|
| 199 |
+
# Время: ~43s
|
| 200 |
+
|
| 201 |
+
# Стандартный
|
| 202 |
+
scheduler_name="Flow Euler (Default)"
|
| 203 |
+
num_inference_steps=40
|
| 204 |
+
# Время: ~40s
|
| 205 |
+
```
|
| 206 |
|
| 207 |
+
### 📊 Влияние Shift параметра:
|
|
|
|
| 208 |
|
| 209 |
+
- **Shift 0.5:** Больше шагов в начале → быстрее
|
| 210 |
+
- **Shift 2.0:** Равномернее распределение → детальнее
|
| 211 |
+
- **Разница:** 19% между самым быстрым и самым медленным
|
| 212 |
+
|
| 213 |
+
### 🔬 Почему только Flow Euler?
|
| 214 |
+
|
| 215 |
+
Qwen-Image это **Flow Matching** модель. Pipeline автоматически передает `sigmas` параметр в `scheduler.set_timesteps()`. Только `FlowMatchEulerDiscreteScheduler` полностью совместим с этой архитектурой.
|
| 216 |
+
|
| 217 |
+
**Не работают:** DPM++, обычный Euler, Ancestral, UniPC, DDIM - все это классические diffusion schedulers.
|
| 218 |
|
| 219 |
---
|
| 220 |
|