Vijish commited on
Commit
b4aa58d
Β·
verified Β·
1 Parent(s): 18eee8e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -10
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=30
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=30
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=30, 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,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