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

[Bug] DeepCache won't work with Lora in ComfyUI #1182

Open
Nirmal2000 opened this issue Jan 11, 2025 · 0 comments
Open

[Bug] DeepCache won't work with Lora in ComfyUI #1182

Nirmal2000 opened this issue Jan 11, 2025 · 0 comments
Labels
Request-bug Something isn't working

Comments

@Nirmal2000
Copy link

Your current environment information

Ran a simple workflow on ComfyUI.
image

🐛 Describe the bug

Getting below error

!!! Exception during processing !!! Transform failed of <class 'register_comfy.deep_cache_unet.FastDeepCacheUNet'>: Transform failed of <class 'onediff.infer_compiler.backends.oneflow.deployable_module.get_mixed_deployable_module.<locals>.MixedOneflowDeployableModule'>: An exception occurred during class transformation:
Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 62, in proxy_class
    out = transform_mgr.transform_cls(cls)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 84, in transform_cls
    mock_cls = self._transform_entity(mock_full_cls_name)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 61, in _transform_entity
    result = self.mocker.mock_entity(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 95, in mock_entity
    return self.load_entity_with_mock(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 133, in load_entity_with_mock
    mock_pkg = getattr(mock_pkg, name)
AttributeError: 'function' object has no attribute '<locals>'

Exception: 'function' object has no attribute '<locals>'
Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 62, in proxy_class
    out = transform_mgr.transform_cls(cls)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 84, in transform_cls
    mock_cls = self._transform_entity(mock_full_cls_name)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 61, in _transform_entity
    result = self.mocker.mock_entity(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 95, in mock_entity
    return self.load_entity_with_mock(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 133, in load_entity_with_mock
    mock_pkg = getattr(mock_pkg, name)
AttributeError: 'function' object has no attribute '<locals>'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 41, in wrapper
    result = dispatcher(first_param, *args, **kwargs)
  File "/usr/lib/python3.10/functools.py", line 889, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 199, in _
    new_md_cls = proxy_class(type(mod))
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 66, in proxy_class
    raise RuntimeError(
RuntimeError: An exception occurred during class transformation:
Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 62, in proxy_class
    out = transform_mgr.transform_cls(cls)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 84, in transform_cls
    mock_cls = self._transform_entity(mock_full_cls_name)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 61, in _transform_entity
    result = self.mocker.mock_entity(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 95, in mock_entity
    return self.load_entity_with_mock(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 133, in load_entity_with_mock
    mock_pkg = getattr(mock_pkg, name)
AttributeError: 'function' object has no attribute '<locals>'

Exception: 'function' object has no attribute '<locals>'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 41, in wrapper
    result = dispatcher(first_param, *args, **kwargs)
  File "/usr/lib/python3.10/functools.py", line 889, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 243, in _
    of_mod = of_mod_cls()
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 214, in init
    self._modules[n] = torch2oflow(m)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 43, in wrapper
    raise NotImplementedError(f"Transform failed of {type(first_param)}: {e}")
NotImplementedError: Transform failed of <class 'onediff.infer_compiler.backends.oneflow.deployable_module.get_mixed_deployable_module.<locals>.MixedOneflowDeployableModule'>: An exception occurred during class transformation:
Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 62, in proxy_class
    out = transform_mgr.transform_cls(cls)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 84, in transform_cls
    mock_cls = self._transform_entity(mock_full_cls_name)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 61, in _transform_entity
    result = self.mocker.mock_entity(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 95, in mock_entity
    return self.load_entity_with_mock(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 133, in load_entity_with_mock
    mock_pkg = getattr(mock_pkg, name)
AttributeError: 'function' object has no attribute '<locals>'

Exception: 'function' object has no attribute '<locals>'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/workspace/snap_comfy/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 "/workspace/snap_comfy/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 "/workspace/snap_comfy/ComfyUI/execution.py", line 174, in _map_node_over_list
    process_inputs(input_dict, i)
  File "/workspace/snap_comfy/ComfyUI/execution.py", line 163, in process_inputs
    results.append(getattr(obj, func)(**inputs))
  File "/workspace/snap_comfy/ComfyUI/nodes.py", line 1533, in sample
    return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
  File "/workspace/snap_comfy/ComfyUI/nodes.py", line 1500, in common_ksampler
    samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
  File "/workspace/snap_comfy/ComfyUI/custom_nodes/ComfyUI-Impact-Pack/modules/impact/sample_error_enhancer.py", line 22, in informative_sample
    raise e
  File "/workspace/snap_comfy/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 "/workspace/snap_comfy/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 "/workspace/snap_comfy/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 "/workspace/snap_comfy/ComfyUI/comfy/samplers.py", line 921, in sample
    return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/workspace/snap_comfy/ComfyUI/comfy/samplers.py", line 907, in sample
    output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
  File "/workspace/snap_comfy/ComfyUI/comfy/patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "/workspace/snap_comfy/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 "/workspace/snap_comfy/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 "/workspace/snap_comfy/ComfyUI/comfy/patcher_extension.py", line 110, in execute
    return self.original(*args, **kwargs)
  File "/workspace/snap_comfy/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 "/workspace/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/comfy/k_diffusion/sampling.py", line 161, in sample_euler
    denoised = model(x, sigma_hat * s_in, **extra_args)
  File "/workspace/snap_comfy/ComfyUI/comfy/samplers.py", line 380, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
  File "/workspace/snap_comfy/ComfyUI/comfy/samplers.py", line 840, in __call__
    return self.predict_noise(*args, **kwargs)
  File "/workspace/snap_comfy/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 "/workspace/snap_comfy/ComfyUI/comfy/samplers.py", line 360, in sampling_function
    out = calc_cond_batch(model, conds, x, timestep, model_options)
  File "/workspace/snap_comfy/ComfyUI/custom_nodes/onediff_comfy_nodes/modules/sd_hijack_utils.py", line 58, in hijacked_method
    return self(*args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/custom_nodes/onediff_comfy_nodes/modules/sd_hijack_utils.py", line 95, in __call__
    return sub_func(self._orig_func, *args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/custom_nodes/onediff_comfy_nodes/modules/oneflow/hijack_samplers.py", line 125, in calc_cond_batch_of
    output = model_options["model_function_wrapper"](
  File "/workspace/snap_comfy/ComfyUI/custom_nodes/onediff_comfy_nodes/modules/oneflow/utils/deep_cache_speedup.py", line 137, in apply_model
    model_output, cache_h = model_patcher.fast_deep_cache_unet(
  File "/workspace/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1532, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/workspace/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1582, in _call_impl
    result = forward_call(*args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/deployable_module.py", line 38, in wrapper
    return func(self, *args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/online_quantization_utils.py", line 65, in wrapper
    output = func(self, *args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/graph_management_utils.py", line 123, in wrapper
    ret = func(self, *args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/args_tree_util.py", line 72, in wrapper
    graph_file_management(func)(self, *mapped_args, **mapped_kwargs)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/graph_management_utils.py", line 123, in wrapper
    ret = func(self, *args, **kwargs)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/deployable_module.py", line 142, in forward
    dpl_graph = self.get_graph()
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/deployable_module.py", line 108, in get_graph
    self._deployable_module_model.oneflow_module,
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/dual_module.py", line 30, in oneflow_module
    self._oneflow_module = torch2oflow(self._torch_module)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 43, in wrapper
    raise NotImplementedError(f"Transform failed of {type(first_param)}: {e}")
NotImplementedError: Transform failed of <class 'register_comfy.deep_cache_unet.FastDeepCacheUNet'>: Transform failed of <class 'onediff.infer_compiler.backends.oneflow.deployable_module.get_mixed_deployable_module.<locals>.MixedOneflowDeployableModule'>: An exception occurred during class transformation:
Traceback (most recent call last):
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/builtin_transform.py", line 62, in proxy_class
    out = transform_mgr.transform_cls(cls)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 84, in transform_cls
    mock_cls = self._transform_entity(mock_full_cls_name)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/transform/manager.py", line 61, in _transform_entity
    result = self.mocker.mock_entity(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 95, in mock_entity
    return self.load_entity_with_mock(entity)
  File "/workspace/snap_comfy/ComfyUI/onediff/src/onediff/infer_compiler/backends/oneflow/import_tools/importer.py", line 133, in load_entity_with_mock
    mock_pkg = getattr(mock_pkg, name)
AttributeError: 'function' object has no attribute '<locals>'

Exception: 'function' object has no attribute '<locals>'
@Nirmal2000 Nirmal2000 added the Request-bug Something isn't working label Jan 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Request-bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant