diff --git a/modules/control/run.py b/modules/control/run.py index 62b8544f8..834b811f9 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -148,15 +148,20 @@ def control_run(units: List[unit.Unit], inputs, inits, mask, unit_type: str, is_ del p.height t0 = time.time() + num_units = 0 for u in units: - if not u.enabled or u.type != unit_type: + if u.type != unit_type: + continue + num_units += 1 + debug(f'Control unit: i={num_units} type={u.type} enabled={u.enabled}') + if not u.enabled: continue if unit_type == 'adapter' and u.adapter.model is not None: active_process.append(u.process) active_model.append(u.adapter) active_strength.append(float(u.strength)) p.adapter_conditioning_factor = u.factor - shared.log.debug(f'Control T2I-Adapter unit: process={u.process.processor_id} model={u.adapter.model_id} strength={u.strength} factor={u.factor}') + shared.log.debug(f'Control T2I-Adapter unit: i={num_units} process={u.process.processor_id} model={u.adapter.model_id} strength={u.strength} factor={u.factor}') elif unit_type == 'controlnet' and u.controlnet.model is not None: active_process.append(u.process) active_model.append(u.controlnet) @@ -164,19 +169,19 @@ def control_run(units: List[unit.Unit], inputs, inits, mask, unit_type: str, is_ active_start.append(float(u.start)) active_end.append(float(u.end)) p.guess_mode = u.guess - shared.log.debug(f'Control ControlNet unit: process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') + shared.log.debug(f'Control ControlNet unit: i={num_units} process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') elif unit_type == 'xs' and u.controlnet.model is not None: active_process.append(u.process) active_model.append(u.controlnet) active_strength.append(float(u.strength)) active_start.append(float(u.start)) active_end.append(float(u.end)) - shared.log.debug(f'Control ControlNet-XS unit: process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') + shared.log.debug(f'Control ControlNet-XS unit: i={num_units} process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') elif unit_type == 'lite' and u.controlnet.model is not None: active_process.append(u.process) active_model.append(u.controlnet) active_strength.append(float(u.strength)) - shared.log.debug(f'Control ControlNet-XS unit: process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') + shared.log.debug(f'Control ControlNet-XS unit: i={num_units} process={u.process.processor_id} model={u.controlnet.model_id} strength={u.strength} guess={u.guess} start={u.start} end={u.end}') elif unit_type == 'reference': p.override = u.override p.attention = u.attention @@ -186,9 +191,10 @@ def control_run(units: List[unit.Unit], inputs, inits, mask, unit_type: str, is_ shared.log.debug('Control Reference unit') else: active_process.append(u.process) - # active_model.append(model) + shared.log.debug(f'Control process unit: i={num_units} process={u.process.processor_id}') active_strength.append(float(u.strength)) p.ops.append('control') + debug(f'Control active: process={len(active_process)} model={len(active_model)}') has_models = False selected_models: List[Union[controlnet.ControlNetModel, xs.ControlNetXSModel, t2iadapter.AdapterModel]] = None diff --git a/modules/control/unit.py b/modules/control/unit.py index de7decdd4..1b49f456c 100644 --- a/modules/control/unit.py +++ b/modules/control/unit.py @@ -37,7 +37,7 @@ class Unit(): # mashup of gradio controls and mapping to actual implementation c result_txt = None, extra_controls: list = [], # noqa B006 ): - self.enabled = enabled or False + self.enabled = enabled or True self.type = unit_type self.strength = strength or 1.0 self.start = start or 0 diff --git a/modules/ui_control.py b/modules/ui_control.py index 6f232c8fb..05b3062b5 100644 --- a/modules/ui_control.py +++ b/modules/ui_control.py @@ -400,7 +400,7 @@ def create_ui(_blocks: gr.Blocks=None): for i in range(max_units): with gr.Accordion(f'ControlNet unit {i+1}', visible= i < num_controlnet_units.value, elem_classes='control-unit') as unit_ui: with gr.Row(): - enabled_cb = gr.Checkbox(value= i==0, label="") + enabled_cb = gr.Checkbox(value=True, label="") process_id = gr.Dropdown(label="Processor", choices=processors.list_models(), value='None') model_id = gr.Dropdown(label="ControlNet", choices=controlnet.list_models(), value='None') ui_common.create_refresh_button(model_id, controlnet.list_models, lambda: {"choices": controlnet.list_models(refresh=True)}, f'refresh_controlnet_models_{i}') @@ -453,7 +453,7 @@ def create_ui(_blocks: gr.Blocks=None): for i in range(max_units): with gr.Accordion(f'T2I-Adapter unit {i+1}', visible= i < num_adapter_units.value, elem_classes='control-unit') as unit_ui: with gr.Row(): - enabled_cb = gr.Checkbox(value= i == 0, label="Enabled") + enabled_cb = gr.Checkbox(value=True, label="Enabled") process_id = gr.Dropdown(label="Processor", choices=processors.list_models(), value='None') model_id = gr.Dropdown(label="Adapter", choices=t2iadapter.list_models(), value='None') ui_common.create_refresh_button(model_id, t2iadapter.list_models, lambda: {"choices": t2iadapter.list_models(refresh=True)}, f'refresh_adapter_models_{i}') @@ -493,7 +493,7 @@ def create_ui(_blocks: gr.Blocks=None): for i in range(max_units): with gr.Accordion(f'ControlNet-XS unit {i+1}', visible= i < num_controlnet_units.value, elem_classes='control-unit') as unit_ui: with gr.Row(): - enabled_cb = gr.Checkbox(value= i==0, label="") + enabled_cb = gr.Checkbox(value=True, label="") process_id = gr.Dropdown(label="Processor", choices=processors.list_models(), value='None') model_id = gr.Dropdown(label="ControlNet-XS", choices=xs.list_models(), value='None') ui_common.create_refresh_button(model_id, xs.list_models, lambda: {"choices": xs.list_models(refresh=True)}, f'refresh_xs_models_{i}') @@ -536,7 +536,7 @@ def create_ui(_blocks: gr.Blocks=None): for i in range(max_units): with gr.Accordion(f'Control-LLLite unit {i+1}', visible= i < num_lite_units.value, elem_classes='control-unit') as unit_ui: with gr.Row(): - enabled_cb = gr.Checkbox(value= i == 0, label="Enabled") + enabled_cb = gr.Checkbox(value=True, label="Enabled") process_id = gr.Dropdown(label="Processor", choices=processors.list_models(), value='None') model_id = gr.Dropdown(label="Model", choices=lite.list_models(), value='None') ui_common.create_refresh_button(model_id, lite.list_models, lambda: {"choices": lite.list_models(refresh=True)}, f'refresh_lite_models_{i}') @@ -577,7 +577,7 @@ def create_ui(_blocks: gr.Blocks=None): for i in range(1): # can only have one reference unit with gr.Accordion(f'Reference unit {i+1}', visible=True, elem_classes='control-unit') as unit_ui: with gr.Row(): - enabled_cb = gr.Checkbox(value= i == 0, label="Enabled", visible=False) + enabled_cb = gr.Checkbox(value=True, label="Enabled", visible=False) model_id = gr.Dropdown(label="Reference", choices=reference.list_models(), value='Reference', visible=False) model_strength = gr.Slider(label="Strength", minimum=0.01, maximum=1.0, step=0.01, value=1.0, visible=False) reset_btn = ui_components.ToolButton(value=ui_symbols.reset)