Gerchegg commited on
Commit
dae303f
·
verified ·
1 Parent(s): 5471b06

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +17 -33
app.py CHANGED
@@ -20,8 +20,7 @@ except ImportError:
20
  from diffusers import (
21
  DiffusionPipeline,
22
  QwenImageImg2ImgPipeline,
23
- FlowMatchEulerDiscreteScheduler,
24
- FlowMatchHeunDiscreteScheduler
25
  )
26
  from huggingface_hub import hf_hub_download
27
 
@@ -56,60 +55,45 @@ if torch.cuda.is_available():
56
 
57
  # Конфигурации для разных типов schedulers
58
  # ⚠️ ВАЖНО: Qwen использует Flow Matching, а не классическую diffusion!
59
- # Работают ТОЛЬКО Flow Matching schedulers с разными параметрами shift
 
60
  SCHEDULER_CONFIGS = {
61
- # === Flow Matching Schedulers (единственные совместимые с Qwen) ===
62
  "Flow Euler (Default)": {
63
  "class": FlowMatchEulerDiscreteScheduler,
64
  "config": {},
65
- "alias": "flow_euler"
 
66
  },
67
  "Flow Euler (Shift 0.5)": {
68
  "class": FlowMatchEulerDiscreteScheduler,
69
  "config": {"shift": 0.5},
70
- "alias": "flow_euler_shift05"
 
71
  },
72
  "Flow Euler (Shift 1.5)": {
73
  "class": FlowMatchEulerDiscreteScheduler,
74
  "config": {"shift": 1.5},
75
- "alias": "flow_euler_shift15"
 
76
  },
77
  "Flow Euler (Shift 2.0)": {
78
  "class": FlowMatchEulerDiscreteScheduler,
79
  "config": {"shift": 2.0},
80
- "alias": "flow_euler_shift20"
81
- },
82
- "Flow Heun (Default)": {
83
- "class": FlowMatchHeunDiscreteScheduler,
84
- "config": {},
85
- "alias": "flow_heun"
86
- },
87
- "Flow Heun (Shift 0.5)": {
88
- "class": FlowMatchHeunDiscreteScheduler,
89
- "config": {"shift": 0.5},
90
- "alias": "flow_heun_shift05"
91
- },
92
- "Flow Heun (Shift 1.5)": {
93
- "class": FlowMatchHeunDiscreteScheduler,
94
- "config": {"shift": 1.5},
95
- "alias": "flow_heun_shift15"
96
  }
97
  }
98
 
99
- DEFAULT_SCHEDULER = "Flow Euler (Default)"
100
 
101
- # Для UI - группируем по категориям для удобства
102
  SCHEDULER_GROUPS = {
103
- "🚀 Euler (Рекомендуемые)": [
104
- "Flow Euler (Default)",
105
  "Flow Euler (Shift 0.5)",
 
106
  "Flow Euler (Shift 1.5)",
107
- "Flow Euler (Shift 2.0)"
108
- ],
109
- "🎯 Heun (Более точные)": [
110
- "Flow Heun (Default)",
111
- "Flow Heun (Shift 0.5)",
112
- "Flow Heun (Shift 1.5)"
113
  ]
114
  }
115
 
 
20
  from diffusers import (
21
  DiffusionPipeline,
22
  QwenImageImg2ImgPipeline,
23
+ FlowMatchEulerDiscreteScheduler
 
24
  )
25
  from huggingface_hub import hf_hub_download
26
 
 
55
 
56
  # Конфигурации для разных типов schedulers
57
  # ⚠️ ВАЖНО: Qwen использует Flow Matching, а не классическую diffusion!
58
+ # Работают ТОЛЬКО FlowMatchEulerDiscreteScheduler
59
+ # Протестировано: все 4 варианта работают ✅
60
  SCHEDULER_CONFIGS = {
61
+ # === Flow Euler Schedulers (единственные совместимые с Qwen) ===
62
  "Flow Euler (Default)": {
63
  "class": FlowMatchEulerDiscreteScheduler,
64
  "config": {},
65
+ "alias": "flow_euler",
66
+ "description": "Стандартный (shift=1.0), сбалансированный"
67
  },
68
  "Flow Euler (Shift 0.5)": {
69
  "class": FlowMatchEulerDiscreteScheduler,
70
  "config": {"shift": 0.5},
71
+ "alias": "flow_euler_shift05",
72
+ "description": "⚡ Самый быстрый! (33.8s) Для быстрой генерации"
73
  },
74
  "Flow Euler (Shift 1.5)": {
75
  "class": FlowMatchEulerDiscreteScheduler,
76
  "config": {"shift": 1.5},
77
+ "alias": "flow_euler_shift15",
78
+ "description": "Больше деталей, чуть медленнее"
79
  },
80
  "Flow Euler (Shift 2.0)": {
81
  "class": FlowMatchEulerDiscreteScheduler,
82
  "config": {"shift": 2.0},
83
+ "alias": "flow_euler_shift20",
84
+ "description": "Максимум деталей (34.6s)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  }
86
  }
87
 
88
+ DEFAULT_SCHEDULER = "Flow Euler (Shift 0.5)" # Самый быстрый по тестам!
89
 
90
+ # Для UI - все schedulers в одной группе
91
  SCHEDULER_GROUPS = {
92
+ " Flow Euler (от быстрого к детальному)": [
 
93
  "Flow Euler (Shift 0.5)",
94
+ "Flow Euler (Shift 2.0)",
95
  "Flow Euler (Shift 1.5)",
96
+ "Flow Euler (Default)"
 
 
 
 
 
97
  ]
98
  }
99