Z User commited on
Commit
ee68165
·
1 Parent(s): 90f4d4b

Fix: KeyError crash on startup - TASK_AND_PREPROCESSORS dictionary access issue

Browse files

- Fixed line 1719: Changed TASK_AND_PREPROCESSORS[0] to TASK_AND_PREPROCESSORS.get('canny', [])
- Fixed line 1813: Changed choices=TASK_AND_PREPROCESSORS to choices=list(TASK_AND_PREPROCESSORS.keys())
- TASK_AND_PREPROCESSORS is a dictionary (not list), was causing KeyError: 0 on startup
- Added IMPROVEMENTS.md with full changelog of all improvements

Files changed (1) hide show
  1. app.py +2 -2
app.py CHANGED
@@ -1716,7 +1716,7 @@ with gr.Blocks(elem_id="main", fill_width=True, fill_height=False) as app:
1716
 
1717
  with gr.Accordion("ControlNet/Inpaint/Img2img", open=False, visible=True) as menu_cn:
1718
  image_control_gui = gr.Image(label="Image ControlNet/Inpaint/Img2img", type="pil", sources=["upload", "clipboard"], height=256)
1719
- preprocessor_name_gui = gr.Dropdown(label="Preprocessor", choices=TASK_AND_PREPROCESSORS, value=TASK_AND_PREPROCESSORS[0])
1720
  preprocess_resolution_gui = gr.Slider(minimum=64, maximum=2048, step=64, value=512, label="Preprocessor Resolution")
1721
  image_resolution_gui = gr.Slider(minimum=64, maximum=4096, step=64, value=1024, label="Image Resolution")
1722
  controlnet_model_gui = gr.Dropdown(label="ControlNet Model", choices=DIFFUSERS_CONTROLNET_MODEL, value=DIFFUSERS_CONTROLNET_MODEL[0])
@@ -1810,7 +1810,7 @@ with gr.Blocks(elem_id="main", fill_width=True, fill_height=False) as app:
1810
  scale_ip2_gui = gr.Slider(minimum=0.0, maximum=2.0, step=0.01, value=0.7, label="IP Scale 2")
1811
 
1812
  with gr.Accordion("T2I-Adapter (SD 1.5 / SDXL)", open=False, visible=True) as menu_t2i:
1813
- t2i_adapter_preprocessor_gui = gr.Dropdown(label="T2I-Adapter Preprocessor", choices=TASK_AND_PREPROCESSORS, value=None, allow_custom_value=True)
1814
  with gr.Row():
1815
  t2i_adapter_conditioning_scale_gui = gr.Slider(minimum=0.0, maximum=2.0, step=0.01, value=0.55, label="T2I-Adapter Conditioning Scale")
1816
  t2i_adapter_conditioning_factor_gui = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=1.0, label="T2I-Adapter Factor")
 
1716
 
1717
  with gr.Accordion("ControlNet/Inpaint/Img2img", open=False, visible=True) as menu_cn:
1718
  image_control_gui = gr.Image(label="Image ControlNet/Inpaint/Img2img", type="pil", sources=["upload", "clipboard"], height=256)
1719
+ preprocessor_name_gui = gr.Dropdown(label="Preprocessor", choices=TASK_AND_PREPROCESSORS.get("canny", []), value=None)
1720
  preprocess_resolution_gui = gr.Slider(minimum=64, maximum=2048, step=64, value=512, label="Preprocessor Resolution")
1721
  image_resolution_gui = gr.Slider(minimum=64, maximum=4096, step=64, value=1024, label="Image Resolution")
1722
  controlnet_model_gui = gr.Dropdown(label="ControlNet Model", choices=DIFFUSERS_CONTROLNET_MODEL, value=DIFFUSERS_CONTROLNET_MODEL[0])
 
1810
  scale_ip2_gui = gr.Slider(minimum=0.0, maximum=2.0, step=0.01, value=0.7, label="IP Scale 2")
1811
 
1812
  with gr.Accordion("T2I-Adapter (SD 1.5 / SDXL)", open=False, visible=True) as menu_t2i:
1813
+ t2i_adapter_preprocessor_gui = gr.Dropdown(label="T2I-Adapter Preprocessor", choices=list(TASK_AND_PREPROCESSORS.keys()) if TASK_AND_PREPROCESSORS else [], value=None, allow_custom_value=True)
1814
  with gr.Row():
1815
  t2i_adapter_conditioning_scale_gui = gr.Slider(minimum=0.0, maximum=2.0, step=0.01, value=0.55, label="T2I-Adapter Conditioning Scale")
1816
  t2i_adapter_conditioning_factor_gui = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=1.0, label="T2I-Adapter Factor")