Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -257,7 +257,7 @@ def preprocess_openpose(image):
|
|
257 |
image = cv2.resize(image, (new_width, new_height))
|
258 |
return Image.fromarray(image)
|
259 |
|
260 |
-
def process_image_batch(images, pipe, prompt, negative_prompt, progress, batch_size=2):
|
261 |
all_processed_images = []
|
262 |
for i in range(0, len(images), batch_size):
|
263 |
batch = images[i:i+batch_size]
|
@@ -271,7 +271,7 @@ def process_image_batch(images, pipe, prompt, negative_prompt, progress, batch_s
|
|
271 |
prompt=prompt,
|
272 |
negative_prompt=negative_prompt,
|
273 |
ref_image=img,
|
274 |
-
num_inference_steps=
|
275 |
).images
|
276 |
processed_batch.extend(result)
|
277 |
else:
|
@@ -279,7 +279,7 @@ def process_image_batch(images, pipe, prompt, negative_prompt, progress, batch_s
|
|
279 |
prompt=batch_prompt,
|
280 |
negative_prompt=batch_negative_prompt,
|
281 |
image=batch,
|
282 |
-
num_inference_steps=
|
283 |
).images
|
284 |
|
285 |
all_processed_images.extend(processed_batch)
|
@@ -288,7 +288,7 @@ def process_image_batch(images, pipe, prompt, negative_prompt, progress, batch_s
|
|
288 |
return all_processed_images
|
289 |
|
290 |
# Define the function to generate images
|
291 |
-
def generate_images_with_progress(prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, control_images, progress=gr.Progress(track_tqdm=True)):
|
292 |
global controlnet_pipe, pipe, reference_pipe
|
293 |
|
294 |
clear_memory()
|
@@ -322,9 +322,9 @@ def generate_images_with_progress(prompt, negative_prompt, batch_count, use_cont
|
|
322 |
for i in range(0, len(preprocessed_images), chunk_size):
|
323 |
chunk = preprocessed_images[i:i+chunk_size]
|
324 |
if controlnet_type == "Reference":
|
325 |
-
images_chunk = process_image_batch(chunk, reference_pipe, prompt, negative_prompt, progress)
|
326 |
else:
|
327 |
-
images_chunk = process_image_batch(chunk, controlnet_pipe, prompt, negative_prompt, progress)
|
328 |
images.extend(images_chunk)
|
329 |
clear_memory()
|
330 |
|
@@ -347,7 +347,7 @@ def generate_images_with_progress(prompt, negative_prompt, batch_count, use_cont
|
|
347 |
|
348 |
images = []
|
349 |
for i in tqdm(range(batch_count), desc="Generating images"):
|
350 |
-
generated = pipe(prompt=[prompt], negative_prompt=[negative_prompt], num_inference_steps=
|
351 |
images.extend(generated)
|
352 |
progress((i + 1) / batch_count) # Update progress bar
|
353 |
clear_memory() # Clear memory after each image, even in single image mode
|
@@ -391,6 +391,7 @@ with gr.Blocks() as demo:
|
|
391 |
lines=5
|
392 |
)
|
393 |
batch_count = gr.Slider(minimum=1, maximum=10, step=1, label="Batch Count", value=1)
|
|
|
394 |
use_controlnet = gr.Checkbox(label="Use ControlNet", value=False)
|
395 |
controlnet_type = gr.Dropdown(choices=["Canny", "Depth", "OpenPose", "Reference"], label="ControlNet Type")
|
396 |
controlnet_status = gr.Textbox(label="ControlNet Status", value="", interactive=False)
|
@@ -470,7 +471,7 @@ with gr.Blocks() as demo:
|
|
470 |
folder_images_gallery.select(fn=select_folder_image, inputs=[selected_folder_images], outputs=selected_folder_images)
|
471 |
clear_selection_button.click(fn=clear_selected_folder_images, inputs=[], outputs=selected_folder_images)
|
472 |
|
473 |
-
def generate_images_with_folder_images(prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, use_control_folder, selected_folder_images, batch_images_input, progress=gr.Progress(track_tqdm=True)):
|
474 |
if mode == "Batch":
|
475 |
if use_control_folder:
|
476 |
selected_images = [img[1] for img in loaded_images]
|
@@ -480,12 +481,12 @@ with gr.Blocks() as demo:
|
|
480 |
selected_images = [resize_image(Image.open(img).convert("RGB")) for img in batch_images_input]
|
481 |
else:
|
482 |
selected_images = [img[1] for img in selected_folder_images]
|
483 |
-
return generate_images_with_progress(prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, selected_images, progress)
|
484 |
|
485 |
generate_button = gr.Button("Generate Images")
|
486 |
generate_button.click(
|
487 |
generate_images_with_folder_images,
|
488 |
-
inputs=[prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, use_control_folder, selected_folder_images, batch_images_input],
|
489 |
outputs=gallery
|
490 |
)
|
491 |
|
|
|
257 |
image = cv2.resize(image, (new_width, new_height))
|
258 |
return Image.fromarray(image)
|
259 |
|
260 |
+
def process_image_batch(images, pipe, prompt, negative_prompt, num_inference_steps, progress, batch_size=2):
|
261 |
all_processed_images = []
|
262 |
for i in range(0, len(images), batch_size):
|
263 |
batch = images[i:i+batch_size]
|
|
|
271 |
prompt=prompt,
|
272 |
negative_prompt=negative_prompt,
|
273 |
ref_image=img,
|
274 |
+
num_inference_steps=num_inference_steps
|
275 |
).images
|
276 |
processed_batch.extend(result)
|
277 |
else:
|
|
|
279 |
prompt=batch_prompt,
|
280 |
negative_prompt=batch_negative_prompt,
|
281 |
image=batch,
|
282 |
+
num_inference_steps=num_inference_steps
|
283 |
).images
|
284 |
|
285 |
all_processed_images.extend(processed_batch)
|
|
|
288 |
return all_processed_images
|
289 |
|
290 |
# Define the function to generate images
|
291 |
+
def generate_images_with_progress(prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, control_images, num_inference_steps, progress=gr.Progress(track_tqdm=True)):
|
292 |
global controlnet_pipe, pipe, reference_pipe
|
293 |
|
294 |
clear_memory()
|
|
|
322 |
for i in range(0, len(preprocessed_images), chunk_size):
|
323 |
chunk = preprocessed_images[i:i+chunk_size]
|
324 |
if controlnet_type == "Reference":
|
325 |
+
images_chunk = process_image_batch(chunk, reference_pipe, prompt, negative_prompt, num_inference_steps, progress)
|
326 |
else:
|
327 |
+
images_chunk = process_image_batch(chunk, controlnet_pipe, prompt, negative_prompt, num_inference_steps, progress)
|
328 |
images.extend(images_chunk)
|
329 |
clear_memory()
|
330 |
|
|
|
347 |
|
348 |
images = []
|
349 |
for i in tqdm(range(batch_count), desc="Generating images"):
|
350 |
+
generated = pipe(prompt=[prompt], negative_prompt=[negative_prompt], num_inference_steps=num_inference_steps, width=1024, height=1024).images
|
351 |
images.extend(generated)
|
352 |
progress((i + 1) / batch_count) # Update progress bar
|
353 |
clear_memory() # Clear memory after each image, even in single image mode
|
|
|
391 |
lines=5
|
392 |
)
|
393 |
batch_count = gr.Slider(minimum=1, maximum=10, step=1, label="Batch Count", value=1)
|
394 |
+
num_inference_steps = gr.Slider(minimum=1, maximum=50, step=1, label="Number of Inference Steps", value=30)
|
395 |
use_controlnet = gr.Checkbox(label="Use ControlNet", value=False)
|
396 |
controlnet_type = gr.Dropdown(choices=["Canny", "Depth", "OpenPose", "Reference"], label="ControlNet Type")
|
397 |
controlnet_status = gr.Textbox(label="ControlNet Status", value="", interactive=False)
|
|
|
471 |
folder_images_gallery.select(fn=select_folder_image, inputs=[selected_folder_images], outputs=selected_folder_images)
|
472 |
clear_selection_button.click(fn=clear_selected_folder_images, inputs=[], outputs=selected_folder_images)
|
473 |
|
474 |
+
def generate_images_with_folder_images(prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, use_control_folder, selected_folder_images, batch_images_input, num_inference_steps, progress=gr.Progress(track_tqdm=True)):
|
475 |
if mode == "Batch":
|
476 |
if use_control_folder:
|
477 |
selected_images = [img[1] for img in loaded_images]
|
|
|
481 |
selected_images = [resize_image(Image.open(img).convert("RGB")) for img in batch_images_input]
|
482 |
else:
|
483 |
selected_images = [img[1] for img in selected_folder_images]
|
484 |
+
return generate_images_with_progress(prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, selected_images, num_inference_steps, progress)
|
485 |
|
486 |
generate_button = gr.Button("Generate Images")
|
487 |
generate_button.click(
|
488 |
generate_images_with_folder_images,
|
489 |
+
inputs=[prompt, negative_prompt, batch_count, use_controlnet, controlnet_type, mode, use_control_folder, selected_folder_images, batch_images_input, num_inference_steps],
|
490 |
outputs=gallery
|
491 |
)
|
492 |
|