Astridkraft commited on
Commit
47c3727
·
verified ·
1 Parent(s): 76d83bd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -5
app.py CHANGED
@@ -104,6 +104,18 @@ def load_img2img():
104
 
105
  return pipe_img2img
106
 
 
 
 
 
 
 
 
 
 
 
 
 
107
 
108
  # === FUNKTIONEN ===
109
  def text_to_image(prompt, steps, guidance_scale, progress=gr.Progress()):
@@ -115,7 +127,7 @@ def text_to_image(prompt, steps, guidance_scale, progress=gr.Progress()):
115
  start_time = time.time()
116
 
117
  # Statusmeldung anzeigen
118
- progress(0, desc="Transformation läuft...")
119
 
120
  pipe = load_txt2img()
121
 
@@ -124,13 +136,18 @@ def text_to_image(prompt, steps, guidance_scale, progress=gr.Progress()):
124
  generator = torch.Generator(device=device).manual_seed(seed)
125
  print(f"Using seed: {seed}")
126
 
 
 
 
127
  image = pipe(
128
  prompt=prompt,
129
  height=IMG_SIZE,
130
  width=IMG_SIZE,
131
  num_inference_steps=steps,
132
  guidance_scale=guidance_scale,
133
- generator=generator
 
 
134
  ).images[0]
135
 
136
  end_time = time.time()
@@ -156,7 +173,7 @@ def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale, fac
156
  start_time = time.time()
157
 
158
  # Statusmeldung anzeigen
159
- progress(0, desc="Transformation läuft...")
160
 
161
  pipe = load_img2img()
162
  img_resized = image.convert("RGB").resize((IMG_SIZE, IMG_SIZE))
@@ -198,6 +215,9 @@ def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale, fac
198
  print("Keine gültigen Koordinaten - keine Maske angewendet")
199
  mask = None
200
 
 
 
 
201
  # --- PIPELINE-AUFRUF ---
202
  result = pipe(
203
  prompt=prompt,
@@ -207,7 +227,9 @@ def img_to_image(image, prompt, neg_prompt, strength, steps, guidance_scale, fac
207
  strength=adj_strength,
208
  num_inference_steps=int(steps),
209
  guidance_scale=adj_guidance,
210
- generator=generator
 
 
211
  )
212
 
213
  end_time = time.time()
@@ -280,7 +302,7 @@ def main_ui():
280
  <div class="info-box">
281
  Zudem präsentieren die Hugging-Face-Files(<code>Main.py</code>, <code>impaint_module.py</code>, <code>UI-Gradio.py</code>)<br>
282
  eine <strong>skalierbare, professionelle Architektur</strong> für Text-to-Image- und Image-to-Image-Entwicklung
283
- die die <br><strong>gesamte Komplexität einer professioneller Umsetzung</strong> verdeutlicht.<br><br>
284
  Die damit gezeigten Fähigkeiten meinerseits sind <strong>sicherlich auf andere Projekte übertragbar</strong>.
285
  </div>
286
  <br><br>
 
104
 
105
  return pipe_img2img
106
 
107
+ # === CALLBACK-FUNKTION FÜR FORTSCHRITT ===
108
+ class ProgressCallback:
109
+ def __init__(self, progress, total_steps):
110
+ self.progress = progress
111
+ self.total_steps = total_steps
112
+ self.current_step = 0
113
+
114
+ def __call__(self, step, timestep, latents):
115
+ self.current_step = step
116
+ progress_percent = (step / self.total_steps) * 100
117
+ self.progress(progress_percent / 100, desc=f"Transformation läuft... {progress_percent:.1f}%")
118
+ return False
119
 
120
  # === FUNKTIONEN ===
121
  def text_to_image(prompt, steps, guidance_scale, progress=gr.Progress()):
 
127
  start_time = time.time()
128
 
129
  # Statusmeldung anzeigen
130
+ progress(0, desc="Transformation läuft... 0%")
131
 
132
  pipe = load_txt2img()
133
 
 
136
  generator = torch.Generator(device=device).manual_seed(seed)
137
  print(f"Using seed: {seed}")
138
 
139
+ # Progress Callback hinzufügen
140
+ callback = ProgressCallback(progress, steps)
141
+
142
  image = pipe(
143
  prompt=prompt,
144
  height=IMG_SIZE,
145
  width=IMG_SIZE,
146
  num_inference_steps=steps,
147
  guidance_scale=guidance_scale,
148
+ generator=generator,
149
+ callback=callback,
150
+ callback_steps=1
151
  ).images[0]
152
 
153
  end_time = time.time()
 
173
  start_time = time.time()
174
 
175
  # Statusmeldung anzeigen
176
+ progress(0, desc="Transformation läuft... 0%")
177
 
178
  pipe = load_img2img()
179
  img_resized = image.convert("RGB").resize((IMG_SIZE, IMG_SIZE))
 
215
  print("Keine gültigen Koordinaten - keine Maske angewendet")
216
  mask = None
217
 
218
+ # Progress Callback hinzufügen
219
+ callback = ProgressCallback(progress, int(steps))
220
+
221
  # --- PIPELINE-AUFRUF ---
222
  result = pipe(
223
  prompt=prompt,
 
227
  strength=adj_strength,
228
  num_inference_steps=int(steps),
229
  guidance_scale=adj_guidance,
230
+ generator=generator,
231
+ callback=callback,
232
+ callback_steps=1
233
  )
234
 
235
  end_time = time.time()
 
302
  <div class="info-box">
303
  Zudem präsentieren die Hugging-Face-Files(<code>Main.py</code>, <code>impaint_module.py</code>, <code>UI-Gradio.py</code>)<br>
304
  eine <strong>skalierbare, professionelle Architektur</strong> für Text-to-Image- und Image-to-Image-Entwicklung
305
+ die die <br><strong>gesamte Komplexität einer professionellen Umsetzung</strong> verdeutlicht.<br><br>
306
  Die damit gezeigten Fähigkeiten meinerseits sind <strong>sicherlich auf andere Projekte übertragbar</strong>.
307
  </div>
308
  <br><br>