Gerchegg commited on
Commit
ba75352
·
verified ·
1 Parent(s): c5b68eb

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +332 -224
README.md CHANGED
@@ -1,224 +1,332 @@
1
- ---
2
- title: Qwen Soloband Advanced - Image2Image + LoRA
3
- emoji: 🎨
4
- colorFrom: blue
5
- colorTo: purple
6
- sdk: gradio
7
- sdk_version: "5.9.1"
8
- app_file: app.py
9
- pinned: true
10
- license: apache-2.0
11
- suggested_hardware: a10g-large
12
- suggested_storage: medium
13
- models:
14
- - Gerchegg/Qwen-Soloband-Diffusers
15
- tags:
16
- - image-generation
17
- - image-to-image
18
- - lora
19
- - qwen
20
- - diffusers
21
- short_description: Text2Image and Image2Image with LoRA support
22
- preload_from_hub:
23
- - Gerchegg/Qwen-Soloband-Diffusers
24
- ---
25
-
26
- # 🎨 Qwen Soloband Advanced
27
-
28
- **Комплексная система генерации изображений** на базе Qwen-Image DiT с полным набором инструментов для профессиональной работы.
29
-
30
- ## 🚀 Основные возможности
31
-
32
- ### 📝 Text-to-Image
33
- Генерация изображений из текстовых описаний:
34
- - 🎨 Кастомная fine-tuned модель Qwen-Soloband
35
- - 📐 Разрешения от 512×512 до 2048×2048
36
- - ⚙️ Полный контроль параметров (steps, CFG, seed)
37
- - 🎯 Оптимизированные настройки для лучшего качества
38
-
39
- ### 🔄 Image-to-Image
40
- Модификация и трансформация существующих изображений:
41
- - 🖼️ Загрузка любых изображений (PNG, JPG, WebP)
42
- - 🎚️ **Denoising Strength** (0.0-1.0) - точный контроль степени изменения
43
- - 🎨 Сохранение структуры при изменении стиля
44
- - Улучшение качества, стилизация, художественная трансформация
45
-
46
- ### 🎭 LoRA Styles
47
- Динамическая загрузка стилей для разнообразия:
48
- - 📸 **Realism** - фотореалистичные изображения
49
- - 🎌 **Anime** - современный японский стиль аниме
50
- - 📽️ **Analog Film** - эффект винтажной пленочной фотографии
51
- - 🎚️ **LoRA Scale** (0.0-2.0) - интенсивность стиля
52
- - 🔗 Работает во всех режимах (Text2Img, Img2Img, ControlNet)
53
-
54
- ## 🔌 API Usage
55
-
56
- ### Text-to-Image API
57
-
58
- ```python
59
- from gradio_client import Client
60
-
61
- client = Client("Gerchegg/Qwen-ImageForFlo-Advanced")
62
-
63
- result = client.predict(
64
- prompt="SB_AI, a beautiful landscape",
65
- negative_prompt="blurry, low quality",
66
- width=1664,
67
- height=928,
68
- seed=42,
69
- randomize_seed=False,
70
- guidance_scale=2.5,
71
- num_inference_steps=40,
72
- lora_name="None", # или "Realism", "Anime", "Analog Film"
73
- lora_scale=1.0,
74
- api_name="/text2img"
75
- )
76
-
77
- image, seed = result
78
- ```
79
-
80
- ### Image-to-Image API
81
-
82
- ```python
83
- result = client.predict(
84
- input_image="path/to/image.png", # PIL Image или path
85
- prompt="Transform this into a painting",
86
- negative_prompt="blurry, low quality",
87
- strength=0.75, # 0.0-1.0, больше = сильнее изменение
88
- seed=42,
89
- randomize_seed=False,
90
- guidance_scale=2.5,
91
- num_inference_steps=40,
92
- lora_name="Analog Film",
93
- lora_scale=1.0,
94
- api_name="/img2img"
95
- )
96
-
97
- image, seed = result
98
- ```
99
-
100
-
101
- ## 💡 Примеры использования
102
-
103
- ### Text-to-Image
104
- ```
105
- Prompt: "SB_AI, a beautiful mountain landscape at sunset, detailed"
106
- Size: 1664×928
107
- Steps: 40, CFG: 2.5
108
- LoRA: None
109
- ```
110
-
111
- ### Image-to-Image
112
- ```
113
- Input: фото человека
114
- Prompt: "Transform into oil painting style"
115
- Strength: 0.75 (сохранить структуру, изменить стиль)
116
- LoRA: Analog Film
117
- ```
118
-
119
-
120
- ## 🎭 Доступные LoRA
121
-
122
- ### 🌐 HuggingFace Hub LoRA (2 предустановленных):
123
-
124
- | Name | Trigger Word | Description |
125
- |------|--------------|-------------|
126
- | **Realism** | "Super Realism portrait of" | Фотореалистичные изображения |
127
- | **Anime** | "Japanese modern anime style, " | Современное аниме |
128
-
129
- 💡 **Ленивая загрузка**: Hub LoRA скачиваются только при использовании, затем кэшируются.
130
-
131
- ### 📁 Локальные LoRA (рекомендуемый способ):
132
-
133
- **Положите ваши .safetensors файлы в `/workspace/loras/`** - они автоматически появятся в списке!
134
-
135
- **Преимущества локальных LoRA**:
136
- - ✅ Не скачиваются с интернета (быстрее)
137
- - ✅ Приватные (только у вас)
138
- - ✅ Полный контроль версий
139
- - Можно использовать любые кастомные LoRA
140
-
141
- **Пример**:
142
- ```bash
143
- /workspace/loras/
144
- ├── my_custom_style.safetensors → появится как "my_custom_style"
145
- ├── portrait_lora.safetensors → появится как "portrait_lora"
146
- └── anime_v2.safetensors → появится как "anime_v2"
147
- ```
148
-
149
- **API использование**:
150
- ```python
151
- # Используйте имя файла (без расширения)
152
- result = client.predict(
153
- prompt="SB_AI, a portrait",
154
- lora_name="my_custom_style", # Имя вашего локального файла
155
- lora_scale=1.0,
156
- api_name="/text2img"
157
- )
158
- ```
159
-
160
- 💡 **Hub LoRA** автоматически добавляют trigger words. **Локальные LoRA** - без trigger words.
161
-
162
- ## 📊 Параметры
163
-
164
- ### Denoising Strength (Image2Image)
165
- - **0.0-0.3**: Минимальные изменения, сохранение деталей
166
- - **0.4-0.6**: Умеренные изменения, баланс
167
- - **0.7-0.9**: Сильные изменения, новое изображение
168
- - **1.0**: Полная перерисовка
169
-
170
- ### LoRA Scale
171
- - **0.0**: Без эффекта
172
- - **0.5**: Слабый эффект стиля
173
- - **1.0**: Нормальный эффект (рекомендуется)
174
- - **1.5-2.0**: Сильный эффект стиля
175
-
176
- ## 🔧 Технические детали
177
-
178
- ### Модели:
179
- - **Base**: Gerchegg/Qwen-Soloband-Diffusers
180
- - **LoRAs**: Различные (загружаются динамически)
181
-
182
- ### Оптимизации:
183
- - VAE tiling для больших изображений
184
- - VAE slicing для batch
185
- - Автоматическое управление LoRA
186
-
187
- ## 💰 Требования
188
-
189
- - **GPU**: A40 (48GB) или A100 (80GB)
190
- - **VRAM**: ~40GB для базовой модели
191
- - **Storage**: ~45GB (модель)
192
-
193
- ## 📚 Дополнительная информация
194
-
195
- - **Base Model**: [Qwen-Soloband-Diffusers](https://huggingface.co/Gerchegg/Qwen-Soloband-Diffusers)
196
- - **Qwen-Image**: [Qwen/Qwen-Image](https://huggingface.co/Qwen/Qwen-Image)
197
- - **Diffusers Docs**: [Image-to-Image Guide](https://huggingface.co/docs/diffusers/using-diffusers/img2img)
198
- - **LoRA Explorer**: [Qwen-Image-LoRA-Explorer](https://huggingface.co/spaces/multimodalart/Qwen-Image-LoRA-Explorer)
199
-
200
- ## ⚠️ Важные замечания
201
-
202
- ### Image2Image для Qwen
203
- Этот Space использует специализированный `QwenImageImg2ImgPipeline` для корректной работы с Qwen-Image архитектурой. В отличие от обычных Stable Diffusion моделей, Qwen-Image требует:
204
- - Специальное кодирование изображений через `AutoencoderKLQwenImage`
205
- - Параметр `true_cfg_scale` вместо `guidance_scale`
206
- - Специальную упаковку латентов (packing 2x2)
207
-
208
- ### LoRA (Hub + Local)
209
-
210
- - **Hub LoRA (2)**: Realism, Anime - скачиваются ПРИ ИСПОЛЬЗОВАНИИ, затем кэшируются
211
- - **Local LoRA**: Любые .safetensors в `/workspace/loras/` - автоматически обнаруживаются
212
- - Ленивая загрузка - не скачиваются и не занимают VRAM до использования
213
- - Полная поддержка в API по имени
214
-
215
- ## 📝 License
216
-
217
- Apache 2.0
218
-
219
- ## 🔧 Technical Notes
220
-
221
- ✅ **Image2Image**: Использует правильный `QwenImageImg2ImgPipeline` для Qwen-Image архитектуры
222
- **Performance**: ~0.91s на шаг денойзинга на A100 GPU
223
- ✅ **Optimization**: VAE tiling и slicing включены для экономии памяти
224
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Qwen Soloband Advanced - Image2Image + LoRA
3
+ emoji: 🎨
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: "5.9.1"
8
+ app_file: app.py
9
+ pinned: true
10
+ license: apache-2.0
11
+ suggested_hardware: a10g-large
12
+ suggested_storage: medium
13
+ models:
14
+ - Gerchegg/Qwen-Soloband-Diffusers
15
+ tags:
16
+ - image-generation
17
+ - image-to-image
18
+ - lora
19
+ - qwen
20
+ - diffusers
21
+ short_description: Text2Image and Image2Image with LoRA support
22
+ preload_from_hub:
23
+ - Gerchegg/Qwen-Soloband-Diffusers
24
+ ---
25
+
26
+ # 🎨 Qwen Soloband Advanced
27
+
28
+ **Комплексная система генерации изображений** на базе Qwen-Image DiT с полным набором инструментов для профессиональной работы.
29
+
30
+ ## 🆕 Что нового в версии 2.0
31
+
32
+ - ⚙️ **10+ Schedulers/Samplers** - Выбор алгоритма генерации (DPM++, Euler, UniPC и др.)
33
+ - 🎯 **Поддержка алиасов** - Короткие имена для API (`dpmpp_2m_karras`, `euler_a`)
34
+ - 🔧 **Кастомные модели** - Задавайте MODEL_REPO через переменную окружения
35
+ - 📦 **RunPod скрипты** - Автоматическая установка одной командой
36
+ - 📚 **Улучшенная доку��ентация** - Полное руководство по развертыванию
37
+
38
+ ## 🚀 Основные возможности
39
+
40
+ ### 📝 Text-to-Image
41
+ Генерация изображений из текстовых описаний:
42
+ - 🎨 Кастомная fine-tuned модель Qwen-Soloband
43
+ - 📐 Разрешения от 512×512 до 2048×2048
44
+ - ⚙️ Полный контроль параметров (steps, CFG, seed)
45
+ - 🎯 Оптимизированные настройки для лучшего качества
46
+
47
+ ### 🔄 Image-to-Image
48
+ Модификация и трансформация существующих изображений:
49
+ - 🖼️ Загрузка любых изображений (PNG, JPG, WebP)
50
+ - 🎚️ **Denoising Strength** (0.0-1.0) - точный контроль степени изменения
51
+ - 🎨 Сохранение структуры при изменении стиля
52
+ - Улучшение качества, стилизация, художественная трансформация
53
+
54
+ ### 🎭 LoRA Styles
55
+ Динамическая загрузка стилей для разнообразия:
56
+ - 📸 **Realism** - фотореалистичные изображения
57
+ - 🎌 **Anime** - современный японский стиль аниме
58
+ - 🎚️ **LoRA Scale** (0.0-2.0) - интенсивность стиля
59
+ - 📁 **Локальные LoRA** - Загрузка из `/workspace/loras/`
60
+
61
+ ---
62
+
63
+ ## 🚀 Quick Start на RunPod
64
+
65
+ ### Одна команда - полная установка:
66
+
67
+ ```bash
68
+ export HF_HUB_ENABLE_HF_TRANSFER=0 && \
69
+ pip install -q huggingface_hub[cli] && \
70
+ hf auth login --token ВАШ_ТОКЕН && \
71
+ cd /workspace && \
72
+ hf download Gerchegg/Qwen-ImageForFlo-Advanced --repo-type space --local-dir Qwen-ImageForFlo-Advanced && \
73
+ cd Qwen-ImageForFlo-Advanced && \
74
+ pip install -r requirements.txt && \
75
+ python app.py
76
+ ```
77
+
78
+ **📖 Полная инструкция:** См. [RUNPOD_DEPLOYMENT.md](./RUNPOD_DEPLOYMENT.md)
79
+
80
+ ### Или используйте скрипт:
81
+
82
+ ```bash
83
+ wget https://huggingface.co/spaces/Gerchegg/Qwen-ImageForFlo-Advanced/resolve/main/quick_start.sh
84
+ chmod +x quick_start.sh
85
+ HF_TOKEN="ВАШ_ТОКЕН" ./quick_start.sh
86
+ ```
87
+
88
+ ---
89
+
90
+ ## 🔌 API Usage
91
+
92
+ ### Text-to-Image API
93
+
94
+ ```python
95
+ from gradio_client import Client
96
+
97
+ client = Client("Gerchegg/Qwen-ImageForFlo-Advanced")
98
+
99
+ result = client.predict(
100
+ prompt="SB_AI, a beautiful landscape",
101
+ negative_prompt="blurry, low quality",
102
+ width=1664,
103
+ height=928,
104
+ seed=42,
105
+ randomize_seed=False,
106
+ guidance_scale=2.5,
107
+ num_inference_steps=40,
108
+ lora_name="None", # или "Realism", "Anime"
109
+ lora_scale=1.0,
110
+ scheduler_name="DPM++ 2M Karras", # 🆕 Выбор scheduler/sampler
111
+ api_name="/text2img"
112
+ )
113
+
114
+ image, seed = result
115
+ ```
116
+
117
+ ### Image-to-Image API
118
+
119
+ ```python
120
+ result = client.predict(
121
+ input_image="path/to/image.png", # PIL Image или path
122
+ prompt="Transform this into a painting",
123
+ negative_prompt="blurry, low quality",
124
+ strength=0.75, # 0.0-1.0, больше = сильнее изменение
125
+ seed=42,
126
+ randomize_seed=False,
127
+ guidance_scale=2.5,
128
+ num_inference_steps=40,
129
+ lora_name="None",
130
+ lora_scale=1.0,
131
+ scheduler_name="Euler Ancestral", # 🆕 Выбор scheduler/sampler
132
+ api_name="/img2img"
133
+ )
134
+
135
+ image, seed = result
136
+ ```
137
+
138
+
139
+ ## 💡 Примеры использования
140
+
141
+ ### Text-to-Image
142
+ ```
143
+ Prompt: "SB_AI, a beautiful mountain landscape at sunset, detailed"
144
+ Size: 1664×928
145
+ Steps: 40, CFG: 2.5
146
+ LoRA: None
147
+ ```
148
+
149
+ ### Image-to-Image
150
+ ```
151
+ Input: фото человека
152
+ Prompt: "Transform into oil painting style"
153
+ Strength: 0.75 (сохранить структуру, изменить стиль)
154
+ LoRA: Analog Film
155
+ ```
156
+
157
+
158
+ ## 🎛️ Доступные Schedulers (Samplers)
159
+
160
+ Начиная с версии 2.0, поддерживаются различные schedulers для контроля процесса генерации!
161
+
162
+ ### Рекомендуемые (проверены сообществом)
163
+
164
+ | Scheduler | Alias (для API) | Описание |
165
+ |-----------|-----------------|----------|
166
+ | **DPM++ 2M Karras** | `dpmpp_2m_karras` | 🏆 По умолчанию - баланс скорости и качества |
167
+ | **DPM++ SDE Karras** | `dpmpp_sde_karras` | 💎 Высокая детализация, чуть медленнее |
168
+ | **DPM++ 3M SDE Karras** | `dpmpp_3m_sde_karras` | 🎨 Максимальное качество |
169
+ | **Euler Ancestral** | `euler_a` | ⚡ Быстрый и стабильный |
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
+ **В интерфейсе:** Выберите в выпадающем списке "Sampler/Scheduler"
190
+
191
+ **В API:** Используйте полное имя или алиас:
192
+ ```python
193
+ scheduler_name="DPM++ 2M Karras" # Полное имя
194
+ scheduler_name="dpmpp_2m_karras" # Алиас (короче)
195
+ ```
196
+
197
+ **Примеры:**
198
+ ```python
199
+ # Максимальное качество (медленнее)
200
+ scheduler_name="DPM++ 3M SDE Karras", num_inference_steps=50
201
+
202
+ # Быстрая генерация
203
+ scheduler_name="Euler Ancestral", num_inference_steps=25
204
+
205
+ # Экспериментальный
206
+ scheduler_name="dpmpp_2m_beta", num_inference_steps=40
207
+ ```
208
+
209
+ ---
210
+
211
+ ## 🎭 Доступные LoRA
212
+
213
+ ### 🌐 HuggingFace Hub LoRA (2 предустановленных):
214
+
215
+ | Name | Trigger Word | Description |
216
+ |------|--------------|-------------|
217
+ | **Realism** | "Super Realism portrait of" | Фотореалистичные изображения |
218
+ | **Anime** | "Japanese modern anime style, " | Современное аниме |
219
+
220
+ 💡 **Ленивая загрузка**: Hub LoRA скачиваются только при использовании, затем кэшируются.
221
+
222
+ ### 📁 Локальные LoRA (рекомендуемый способ):
223
+
224
+ **Положите ваши .safetensors файлы в `/workspace/loras/`** - они автоматически появятся в списке!
225
+
226
+ **Преимущества локальных LoRA**:
227
+ - ✅ Не скачиваются с интернета (быстрее)
228
+ - ✅ Приватные (только у вас)
229
+ - ✅ Полный контроль версий
230
+ - ✅ Можно использовать любые кастомные LoRA
231
+
232
+ **Пример**:
233
+ ```bash
234
+ /workspace/loras/
235
+ ├── my_custom_style.safetensors → появится как "my_custom_style"
236
+ ├── portrait_lora.safetensors → появится как "portrait_lora"
237
+ └── anime_v2.safetensors → появится как "anime_v2"
238
+ ```
239
+
240
+ **API использование**:
241
+ ```python
242
+ # Используйте имя файла (без расширения)
243
+ result = client.predict(
244
+ prompt="SB_AI, a portrait",
245
+ lora_name="my_custom_style", # Имя вашего локального файла
246
+ lora_scale=1.0,
247
+ api_name="/text2img"
248
+ )
249
+ ```
250
+
251
+ 💡 **Hub LoRA** автоматически добавляют trigger words. **Локальные LoRA** - без trigger words.
252
+
253
+ ## 📊 Параметры
254
+
255
+ ### Denoising Strength (Image2Image)
256
+ - **0.0-0.3**: Минимальные изменения, сохранение деталей
257
+ - **0.4-0.6**: Умеренные изменения, баланс
258
+ - **0.7-0.9**: Сильные изменения, новое изображение
259
+ - **1.0**: Полная перерисовка
260
+
261
+ ### LoRA Scale
262
+ - **0.0**: Без эффекта
263
+ - **0.5**: Слабый эффект стиля
264
+ - **1.0**: Нормальный эффект (рекомендуется)
265
+ - **1.5-2.0**: Сильный эффект стиля
266
+
267
+ ## 🔧 Технические детали
268
+
269
+ ### Модели:
270
+ - **Base**: Gerchegg/Qwen-Soloband-Diffusers (по умолчанию)
271
+ - **LoRAs**: Различные (загружаются динамически)
272
+ - **Custom Models**: Поддержка через переменную окружения `MODEL_REPO`
273
+
274
+ ### Использование кастомной модели:
275
+
276
+ ```bash
277
+ # Через переменную окружения
278
+ MODEL_REPO="username/custom-qwen-model" python app.py
279
+
280
+ # Или экспортировать
281
+ export MODEL_REPO="username/custom-qwen-model"
282
+ python app.py
283
+ ```
284
+
285
+ **Требования к кастомной модели:**
286
+ - Совместимость с Qwen-Image архитектурой
287
+ - Формат diffusers
288
+ - Включает: vae, text_encoder, tokenizer, transformer, scheduler
289
+
290
+ ### Оптимизации:
291
+ - VAE tiling для больших изображений
292
+ - VAE slicing для batch
293
+ - Автоматическое управление LoRA
294
+
295
+ ## 💰 Требования
296
+
297
+ - **GPU**: A40 (48GB) или A100 (80GB)
298
+ - **VRAM**: ~40GB для базовой модели
299
+ - **Storage**: ~45GB (модель)
300
+
301
+ ## 📚 Дополнительная информация
302
+
303
+ - **Base Model**: [Qwen-Soloband-Diffusers](https://huggingface.co/Gerchegg/Qwen-Soloband-Diffusers)
304
+ - **Qwen-Image**: [Qwen/Qwen-Image](https://huggingface.co/Qwen/Qwen-Image)
305
+ - **Diffusers Docs**: [Image-to-Image Guide](https://huggingface.co/docs/diffusers/using-diffusers/img2img)
306
+ - **LoRA Explorer**: [Qwen-Image-LoRA-Explorer](https://huggingface.co/spaces/multimodalart/Qwen-Image-LoRA-Explorer)
307
+
308
+ ## ⚠️ Важные замечания
309
+
310
+ ### Image2Image для Qwen
311
+ Этот Space использует специализированный `QwenImageImg2ImgPipeline` для корректной работы с Qwen-Image архитектурой. В отличие от обычных Stable Diffusion моделей, Qwen-Image требует:
312
+ - Специальное кодирование изображений через `AutoencoderKLQwenImage`
313
+ - Параметр `true_cfg_scale` вместо `guidance_scale`
314
+ - Специальную упаковку латентов (packing 2x2)
315
+
316
+ ### LoRA (Hub + Local)
317
+
318
+ - **Hub LoRA (2)**: Realism, Anime - скачиваются ПРИ ИСПОЛЬЗОВАНИИ, затем кэшируются
319
+ - **Local LoRA**: Любые .safetensors в `/workspace/loras/` - автоматически обнаруживаются
320
+ - Ленивая загрузка - не скачиваются и не занимают VRAM до использования
321
+ - Полная поддержка в API по имени
322
+
323
+ ## 📝 License
324
+
325
+ Apache 2.0
326
+
327
+ ## 🔧 Technical Notes
328
+
329
+ ✅ **Image2Image**: Использует правильный `QwenImageImg2ImgPipeline` для Qwen-Image архитектуры
330
+ ✅ **Performance**: ~0.91s на шаг денойзинга на A100 GPU
331
+ ✅ **Optimization**: VAE tiling и slicing включены для экономии памяти
332
+