Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: 'int' object is not subscriptable #113

Open
flesler opened this issue Jan 2, 2025 · 5 comments
Open

TypeError: 'int' object is not subscriptable #113

flesler opened this issue Jan 2, 2025 · 5 comments

Comments

@flesler
Copy link

flesler commented Jan 2, 2025

Running on Pinokio, Ubuntu 22

Here's the workflow:
SANA.json

Here's the error log, while running the KSampler:

  File "/home/user/pinokio/api/comfy/app/execution.py", line 327, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
  File "/home/user/pinokio/api/comfy/app/execution.py", line 202, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
  File "/home/user/pinokio/api/comfy/app/execution.py", line 174, in _map_node_over_list
    process_inputs(input_dict, i)
  File "/home/user/pinokio/api/comfy/app/execution.py", line 163, in process_inputs
    results.append(getattr(obj, func)(**inputs))
  File "/home/user/pinokio/api/comfy/app/nodes.py", line 1519, in sample
    return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
  File "/home/user/pinokio/api/comfy/app/nodes.py", line 1486, in common_ksampler
    samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
  File "/home/user/pinokio/api/comfy/app/comfy/sample.py", line 45, in sample
    samples = sampler.sample(noise, positive, negative, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 1031, in sample
    return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 921, in sample
    return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 907, in sample
    output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/home/user/pinokio/api/comfy/app/comfy/patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 876, in outer_sample
    output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 860, in inner_sample
    samples = executor.execute(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
  File "/home/user/pinokio/api/comfy/app/comfy/patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 715, in sample
    samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
  File "/home/user/pinokio/api/comfy/app/env/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/comfy/k_diffusion/sampling.py", line 155, in sample_euler
    denoised = model(x, sigma_hat * s_in, **extra_args)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 380, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 840, in __call__
    return self.predict_noise(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 843, in predict_noise
    return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 360, in sampling_function
    out = calc_cond_batch(model, conds, x, timestep, model_options)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 196, in calc_cond_batch
    return executor.execute(model, conds, x_in, timestep, model_options)
  File "/home/user/pinokio/api/comfy/app/comfy/patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/comfy/samplers.py", line 309, in _calc_cond_batch
    output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
  File "/home/user/pinokio/api/comfy/app/comfy/model_base.py", line 130, in apply_model
    return comfy.patcher_extension.WrapperExecutor.new_class_executor(
  File "/home/user/pinokio/api/comfy/app/comfy/patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/comfy/model_base.py", line 159, in _apply_model
    model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float()
  File "/home/user/pinokio/api/comfy/app/custom_nodes/ComfyUI_ExtraModels/Sana/models/sana_multi_scale.py", line 328, in __call__
    return self.forward(*args, **kwargs)
  File "/home/user/pinokio/api/comfy/app/custom_nodes/ComfyUI_ExtraModels/Sana/models/sana_multi_scale.py", line 254, in forward
    out = self.forward_raw(
  File "/home/user/pinokio/api/comfy/app/custom_nodes/ComfyUI_ExtraModels/Sana/models/sana_multi_scale.py", line 300, in forward_raw
    y_lens = [y_lens[1]] * bs
TypeError: 'int' object is not subscriptable
@MNeMoNiCuZ
Copy link

I have the same when testing the included Sana workflow.

!!! Exception during processing !!! 'int' object is not subscriptable
Traceback (most recent call last):
  File "C:\AI\ComfyUI\execution.py", line 327, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
  File "C:\AI\ComfyUI\execution.py", line 202, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
  File "C:\AI\ComfyUI\execution.py", line 174, in _map_node_over_list
    process_inputs(input_dict, i)
  File "C:\AI\ComfyUI\execution.py", line 163, in process_inputs
    results.append(getattr(obj, func)(**inputs))
  File "C:\AI\ComfyUI\nodes.py", line 1519, in sample
    return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
  File "C:\AI\ComfyUI\nodes.py", line 1486, in common_ksampler
    samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
  File "C:\AI\ComfyUI\custom_nodes\Comfyui-StableSR\nodes.py", line 69, in hook_sample
    return original_sample(*args, **kwargs)
  File "C:\AI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack\modules\impact\sample_error_enhancer.py", line 9, in informative_sample
    return original_sample(*args, **kwargs)  # This code helps interpret error messages that occur within exceptions but does not have any impact on other operations.
  File "C:\AI\ComfyUI\comfy\sample.py", line 45, in sample
    samples = sampler.sample(noise, positive, negative, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 1031, in sample
    return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 921, in sample
    return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 907, in sample
    output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "C:\AI\ComfyUI\comfy\patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 876, in outer_sample
    output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 860, in inner_sample
    samples = executor.execute(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
  File "C:\AI\ComfyUI\comfy\patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 715, in sample
    samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
  File "C:\AI\ComfyUI\venv\lib\site-packages\torch\utils\_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "C:\AI\ComfyUI\comfy\k_diffusion\sampling.py", line 155, in sample_euler
    denoised = model(x, sigma_hat * s_in, **extra_args)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 380, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 840, in __call__
    return self.predict_noise(*args, **kwargs)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 843, in predict_noise
    return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 360, in sampling_function
    out = calc_cond_batch(model, conds, x, timestep, model_options)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 196, in calc_cond_batch
    return executor.execute(model, conds, x_in, timestep, model_options)
  File "C:\AI\ComfyUI\comfy\patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "C:\AI\ComfyUI\comfy\samplers.py", line 309, in _calc_cond_batch
    output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
  File "C:\AI\ComfyUI\comfy\model_base.py", line 130, in apply_model
    return comfy.patcher_extension.WrapperExecutor.new_class_executor(
  File "C:\AI\ComfyUI\comfy\patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "C:\AI\ComfyUI\comfy\model_base.py", line 159, in _apply_model
    model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float()
  File "C:\AI\ComfyUI\custom_nodes\ComfyUI_ExtraModels\Sana\models\sana_multi_scale.py", line 328, in __call__
    return self.forward(*args, **kwargs)
  File "C:\AI\ComfyUI\custom_nodes\ComfyUI_ExtraModels\Sana\models\sana_multi_scale.py", line 254, in forward
    out = self.forward_raw(
  File "C:\AI\ComfyUI\custom_nodes\ComfyUI_ExtraModels\Sana\models\sana_multi_scale.py", line 300, in forward_raw
    y_lens = [y_lens[1]] * bs
TypeError: 'int' object is not subscriptable

@lawrence-cj
Copy link
Contributor

Use the node here: https://github.com/Efficient-Large-Model/ComfyUI_ExtraModels

City96 is constructing official node in ComfyUI for Sana. Before that, use this node first: https://github.com/Efficient-Large-Model/ComfyUI_ExtraModels

@DeltaForce14
Copy link

This solution worked for me:

  1. find file sana_multi_scale.py
  2. Change this code (line 299 / 300)y_lens = ((y != 0).sum(dim=3) > 0).sum(dim=2).squeeze().tolist()
    y_lens = [y_lens[1]] * bs # <-- ERROR occurs here
    3 . To this
    y_lens = ((y != 0).sum(dim=3) > 0).sum(dim=2).squeeze().tolist()
    if isinstance(y_lens, int): # Ensure it's always a list
    y_lens = [y_lens]
    y_lens = [y_lens[1]] * bs if len(y_lens) > 1 else [y_lens[0]] * bs

Restart comfy. The KSampler worked afterwards for me.

@marcoc2
Copy link

marcoc2 commented Feb 13, 2025

This solution worked for me:

  1. find file sana_multi_scale.py
  2. Change this code (line 299 / 300)y_lens = ((y != 0).sum(dim=3) > 0).sum(dim=2).squeeze().tolist()
    y_lens = [y_lens[1]] * bs # <-- ERROR occurs here
    3 . To this
    y_lens = ((y != 0).sum(dim=3) > 0).sum(dim=2).squeeze().tolist()
    if isinstance(y_lens, int): # Ensure it's always a list
    y_lens = [y_lens]
    y_lens = [y_lens[1]] * bs if len(y_lens) > 1 else [y_lens[0]] * bs

Restart comfy. The KSampler worked afterwards for me.

Well, this solve the error, but the workflow generates only black images.

@FalxGod
Copy link

FalxGod commented Mar 9, 2025

Same here: https://github.com/Efficient-Large-Model/ComfyUI_ExtraModels didnt fix the error neither did this (grey images).

    This solution worked for me:

        find file sana_multi_scale.py
        Change this code (line 299 / 300)y_lens = ((y != 0).sum(dim=3) > 0).sum(dim=2).squeeze().tolist()
        y_lens = [y_lens[1]] * bs # <-- ERROR occurs here
        3 . To this
        y_lens = ((y != 0).sum(dim=3) > 0).sum(dim=2).squeeze().tolist()
        if isinstance(y_lens, int): # Ensure it's always a list
        y_lens = [y_lens]
        y_lens = [y_lens[1]] * bs if len(y_lens) > 1 else [y_lens[0]] * bs

    Restart comfy. The KSampler worked afterwards for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants