kijai / ComfyUI-SUPIR

SUPIR upscaling wrapper for ComfyUI
Other
1.49k stars 82 forks source link

error: list indices must be integers or slices, not dict #71

Closed soldivelot closed 6 months ago

soldivelot commented 6 months ago

i got this error after i add tile node

Error occurred when executing SUPIR_sample:

list indices must be integers or slices, not dict

  File "E:\Program Files\Media\ComfyUI\ComfyUI\execution.py", line 152, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\execution.py", line 82, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\execution.py", line 75, in map_node_over_list
    results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\custom_nodes\ComfyUI-SUPIR\nodes_v2.py", line 424, in sample
    _samples = self.sampler(denoiser, noised_z, cond=positive, uc=negative, x_center=latent.unsqueeze(0), control_scale=control_scale_end,
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\custom_nodes\ComfyUI-SUPIR\sgm\modules\diffusionmodules\sampling.py", line 440, in __call__
    x = self.sampler_step(
        ^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\custom_nodes\ComfyUI-SUPIR\sgm\modules\diffusionmodules\sampling.py", line 417, in sampler_step
    denoised = self.denoise(x, denoiser, sigma_hat, cond, uc, control_scale=control_scale)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\custom_nodes\ComfyUI-SUPIR\sgm\modules\diffusionmodules\sampling.py", line 399, in denoise
    denoised = denoiser(*self.guider.prepare_inputs(x, sigma, cond, uc), control_scale)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\Program Files\Media\ComfyUI\ComfyUI\custom_nodes\ComfyUI-SUPIR\sgm\modules\diffusionmodules\guiders.py", line 72, in prepare_inputs
    assert c[k] == uc[k]
           ~^^^

workflow: 图片

kijai commented 6 months ago

The tile node is not used like that actually. It only exists so you can generate captions from the tiles. The sampler does the tiling itself when a Tiled -sampler is selected instead. I'm still working on the tiling support, it should work already but probably has tons of bugs.

soldivelot commented 6 months ago

solved, thanks for helping