openfree commited on
Commit
193a629
1 Parent(s): c49fe58

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -16
app.py CHANGED
@@ -416,13 +416,12 @@ def run_lora(prompt, image_input, image_strength, cfg_scale, steps, selected_ind
416
  if randomize_seed:
417
  seed = random.randint(0, MAX_SEED)
418
 
 
419
  # Generate image
420
  if image_input is not None:
421
  final_image = generate_image_to_image(prompt_mash, image_input, image_strength, steps, cfg_scale, width, height, seed)
422
- return final_image, seed, gr.update(visible=False)
423
  else:
424
  image_generator = generate_image(prompt_mash, steps, seed, cfg_scale, width, height, progress)
425
- # Consume the generator to get the final image
426
  final_image = None
427
  step_counter = 0
428
  for image in image_generator:
@@ -431,13 +430,17 @@ def run_lora(prompt, image_input, image_strength, cfg_scale, steps, selected_ind
431
  progress_bar = f'<div class="progress-container"><div class="progress-bar" style="--current: {step_counter}; --total: {steps};"></div></div>'
432
  yield image, seed, gr.update(value=progress_bar, visible=True)
433
 
434
- if final_image is None:
435
- raise gr.Error("Failed to generate image")
436
-
437
- return final_image, seed, gr.update(value=progress_bar, visible=False)
 
 
 
 
438
  except Exception as e:
439
  print(f"Error in run_lora: {str(e)}")
440
- return None, seed, gr.update(visible=False)
441
 
442
  run_lora.zerogpu = True
443
 
@@ -563,8 +566,8 @@ def infer_upscale(
563
  ):
564
  try:
565
  if input_image is None:
566
- raise ValueError("No input image provided")
567
-
568
  if randomize_seed:
569
  seed = random.randint(0, MAX_SEED)
570
 
@@ -603,7 +606,7 @@ def infer_upscale(
603
  return image, seed
604
  except Exception as e:
605
  print(f"Error in infer_upscale: {str(e)}")
606
- return None, seed
607
 
608
  def check_upscale_input(input_image, *args):
609
  if input_image is None:
@@ -755,29 +758,31 @@ with gr.Blocks(theme="Nymbo/Nymbo_Theme", css=css, delete_cache=(60, 3600)) as a
755
  inputs=[selected_indices, loras_state],
756
  outputs=[loras_state, gallery, selected_info_1, selected_info_2, selected_indices, lora_scale_1, lora_scale_2, lora_image_1, lora_image_2]
757
  )
758
- # 이벤트 핸들러 수정
759
  gr.on(
760
  triggers=[generate_button.click, prompt.submit],
761
  fn=run_lora,
762
  inputs=[prompt, input_image, image_strength, cfg_scale, steps, selected_indices, lora_scale_1, lora_scale_2, randomize_seed, seed, width, height, loras_state],
763
  outputs=[result, seed, progress_bar]
764
  ).then(
765
- fn=lambda x, history: update_history(x, history) if x is not None else history,
766
  inputs=[result, history_gallery],
767
  outputs=history_gallery,
768
  )
769
-
770
- # 업스케일 버튼 이벤트 추가 (이 부분을 gr.Blocks 컨텍스트 내부로 이동)
771
  upscale_button.click(
772
- check_upscale_input,
773
  inputs=[
774
- upscale_input,
775
  upscale_seed,
776
  upscale_randomize_seed,
 
777
  upscale_steps,
778
  upscale_factor,
779
  controlnet_conditioning_scale,
780
  ],
 
 
 
781
  outputs=[
782
  upscale_input,
783
  upscale_seed,
 
416
  if randomize_seed:
417
  seed = random.randint(0, MAX_SEED)
418
 
419
+
420
  # Generate image
421
  if image_input is not None:
422
  final_image = generate_image_to_image(prompt_mash, image_input, image_strength, steps, cfg_scale, width, height, seed)
 
423
  else:
424
  image_generator = generate_image(prompt_mash, steps, seed, cfg_scale, width, height, progress)
 
425
  final_image = None
426
  step_counter = 0
427
  for image in image_generator:
 
430
  progress_bar = f'<div class="progress-container"><div class="progress-bar" style="--current: {step_counter}; --total: {steps};"></div></div>'
431
  yield image, seed, gr.update(value=progress_bar, visible=True)
432
 
433
+ if final_image is None:
434
+ raise gr.Error("Failed to generate image")
435
+
436
+ return final_image, seed, gr.update(visible=False)
437
+ except spaces.zero.gradio.HTMLError as e:
438
+ if "You have exceeded your Pro GPU quota" in str(e):
439
+ return gr.Error("GPU quota exceeded. Please try again later."), seed, gr.update(visible=False)
440
+ raise
441
  except Exception as e:
442
  print(f"Error in run_lora: {str(e)}")
443
+ return gr.Error(f"An error occurred: {str(e)}"), seed, gr.update(visible=False)
444
 
445
  run_lora.zerogpu = True
446
 
 
566
  ):
567
  try:
568
  if input_image is None:
569
+ return gr.Error("No input image provided"), seed
570
+
571
  if randomize_seed:
572
  seed = random.randint(0, MAX_SEED)
573
 
 
606
  return image, seed
607
  except Exception as e:
608
  print(f"Error in infer_upscale: {str(e)}")
609
+ return gr.Error(f"Upscaling failed: {str(e)}"), seed
610
 
611
  def check_upscale_input(input_image, *args):
612
  if input_image is None:
 
758
  inputs=[selected_indices, loras_state],
759
  outputs=[loras_state, gallery, selected_info_1, selected_info_2, selected_indices, lora_scale_1, lora_scale_2, lora_image_1, lora_image_2]
760
  )
761
+
762
  gr.on(
763
  triggers=[generate_button.click, prompt.submit],
764
  fn=run_lora,
765
  inputs=[prompt, input_image, image_strength, cfg_scale, steps, selected_indices, lora_scale_1, lora_scale_2, randomize_seed, seed, width, height, loras_state],
766
  outputs=[result, seed, progress_bar]
767
  ).then(
768
+ fn=lambda x, history: update_history(x, history) if not isinstance(x, gr.Error) else history,
769
  inputs=[result, history_gallery],
770
  outputs=history_gallery,
771
  )
772
+
 
773
  upscale_button.click(
774
+ infer_upscale,
775
  inputs=[
 
776
  upscale_seed,
777
  upscale_randomize_seed,
778
+ upscale_input,
779
  upscale_steps,
780
  upscale_factor,
781
  controlnet_conditioning_scale,
782
  ],
783
+ outputs=[upscale_result, upscale_seed_output],
784
+ )
785
+
786
  outputs=[
787
  upscale_input,
788
  upscale_seed,