shiimizu / ComfyUI-TiledDiffusion

Tiled Diffusion, MultiDiffusion, Mixture of Diffusers, and optimized VAE
301 stars 21 forks source link

'ControlNet' object has no attribute 'device' #49

Open Nem-z opened 4 hours ago

Nem-z commented 4 hours ago

Description

Hi!

The error listed in the title happens since a specific commit from ComfyUI. I can't use Tiled Diffusion with ControlNet. If I disable one of the two, the workflow works perfectly. The issue was reported on ComfyUI Git in this thread: https://github.com/comfyanonymous/ComfyUI/issues/5344

From the comments, it appears that the following commit could be the culprit and the code for Tiled Diffusion need some adjustments: https://github.com/comfyanonymous/ComfyUI/commit/754597c8a92f0d074dea8a0a74b2d34c3aae29b9

Thanks!

Attached Workflow

workflow.json A very simple workflow to test. Works when Tiled Diffusion or ControlNet is bypassed but not when the two are activated at the same time.

ComfyUI Error Report

Error Details

## System Information
- **ComfyUI Version:** v0.2.4-11-g9ee0a65
- **Arguments:** ComfyUI\main.py --windows-standalone-build --output-dir G:\Outputs\ --port 7777
- **OS:** nt
- **Python Version:** 3.11.8 (tags/v3.11.8:db85d51, Feb  6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)]
- **Embedded Python:** true
- **PyTorch Version:** 2.5.0+cu121
## Devices

- **Name:** cuda:0 NVIDIA GeForce RTX 4090 : cudaMallocAsync
  - **Type:** cuda
  - **VRAM Total:** 25756696576
  - **VRAM Free:** 14507140714
  - **Torch VRAM Total:** 9495904256
  - **Torch VRAM Free:** 9528938

## Logs

2024-10-27 13:02:25,328 - root - INFO - Total VRAM 24564 MB, total RAM 65166 MB 2024-10-27 13:02:25,328 - root - INFO - pytorch version: 2.5.0+cu121 2024-10-27 13:02:25,329 - root - INFO - Set vram state to: NORMAL_VRAM 2024-10-27 13:02:25,329 - root - INFO - Device: cuda:0 NVIDIA GeForce RTX 4090 : cudaMallocAsync 2024-10-27 13:02:26,076 - root - INFO - Using pytorch cross attention 2024-10-27 13:02:26,964 - root - INFO - [Prompt Server] web root: G:\WebUI\ComfyUI\ComfyUI\web 2024-10-27 13:02:26,965 - root - INFO - Adding extra search path checkpoints G:\Ressources\Models\Image\Checkpoints 2024-10-27 13:02:26,965 - root - INFO - Adding extra search path vae G:\Ressources\Models\Image\VAE 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path loras G:\Ressources\Models\Image\LoRA 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path upscale_models G:\Ressources\Models\Image\Upscaler 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path embeddings G:\Ressources\Models\Image\Embeddings 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path controlnet G:\Ressources\Models\Image\ControlNet\Models 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path ipadapter G:\Ressources\Models\Image\IPAdapter 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path clip_vision G:\Ressources\Models\Image\CLIP VIsion 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path unet G:\Ressources\Models\Image\Checkpoints\Flux 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path wildcards G:\Ressources\Models\Image\Wildcards 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path clip G:\Ressources\Models\Image\Text Encoder 2024-10-27 13:02:26,966 - root - INFO - Adding extra search path tensorrt G:\Ressources\Models\Image\TensorRT 2024-10-27 13:02:30,442 - root - INFO - Import times for custom nodes: 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\websocket_image_save.py 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI_ADV_CLIP_emb 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\LoRA-Merger-ComfyUI 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-WD14-Tagger 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI_Nemz_Pack 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\cg-noisetools 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI_IPAdapter_Plus 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI_essentials 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Custom-Scripts 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-PromptUtilities 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI_ExtraModels 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\rgthree-comfy 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\virtuoso-nodes 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI_Controlnet_Aux 2024-10-27 13:02:30,443 - root - INFO - 0.0 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Inspire-Pack 2024-10-27 13:02:30,443 - root - INFO - 0.3 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Manager 2024-10-27 13:02:30,443 - root - INFO - 0.3 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack 2024-10-27 13:02:30,443 - root - INFO - 0.4 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Easy-Use 2024-10-27 13:02:30,443 - root - INFO - 0.8 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-SUPIR 2024-10-27 13:02:30,443 - root - INFO - 1.1 seconds: G:\WebUI\ComfyUI\ComfyUI\custom_nodes\was-node-suite-comfyui 2024-10-27 13:02:30,443 - root - INFO - 2024-10-27 13:02:30,450 - root - INFO - Setting output directory to: G:\Outputs 2024-10-27 13:02:30,451 - root - INFO - Starting server

2024-10-27 13:02:30,451 - root - INFO - To see the GUI go to: http://127.0.0.1:7777 2024-10-27 13:02:33,165 - root - INFO - got prompt 2024-10-27 13:02:33,263 - root - INFO - Using pytorch attention in VAE 2024-10-27 13:02:33,264 - root - INFO - Using pytorch attention in VAE 2024-10-27 13:02:35,416 - root - INFO - model weight dtype torch.float16, manual cast: None 2024-10-27 13:02:35,417 - root - INFO - model_type EPS 2024-10-27 13:02:36,576 - root - INFO - Using pytorch attention in VAE 2024-10-27 13:02:36,577 - root - INFO - Using pytorch attention in VAE 2024-10-27 13:02:36,772 - root - INFO - Requested to load SDXLClipModel 2024-10-27 13:02:36,772 - root - INFO - Loading 1 new model 2024-10-27 13:02:36,780 - root - INFO - loaded completely 0.0 1560.802734375 True 2024-10-27 13:02:37,662 - root - INFO - Requested to load SDXLClipModel 2024-10-27 13:02:37,662 - root - INFO - Loading 1 new model 2024-10-27 13:02:38,157 - root - INFO - Requested to load SDXLClipModel 2024-10-27 13:02:38,157 - root - INFO - Loading 1 new model 2024-10-27 13:02:39,001 - root - INFO - loaded completely 0.0 1560.802734375 True 2024-10-27 13:02:39,067 - root - INFO - Requested to load SDXLClipModel 2024-10-27 13:02:39,068 - root - INFO - Loading 1 new model 2024-10-27 13:02:39,275 - root - INFO - loaded completely 0.0 1560.802734375 True 2024-10-27 13:02:39,343 - root - INFO - Requested to load SDXL 2024-10-27 13:02:39,344 - root - INFO - Requested to load ControlNet 2024-10-27 13:02:39,344 - root - INFO - Loading 2 new models 2024-10-27 13:02:40,381 - root - INFO - loaded completely 0.0 4897.0483474731445 True 2024-10-27 13:02:40,647 - root - INFO - loaded completely 0.0 2396.797637939453 True 2024-10-27 13:02:53,396 - root - INFO - Requested to load AutoencoderKL 2024-10-27 13:02:53,396 - root - INFO - Loading 1 new model 2024-10-27 13:02:53,473 - root - INFO - loaded completely 0.0 159.55708122253418 True 2024-10-27 13:02:55,280 - root - INFO - Requested to load SDXLClipModel 2024-10-27 13:02:55,280 - root - INFO - Loading 1 new model 2024-10-27 13:02:55,956 - root - INFO - loaded completely 0.0 1560.802734375 True 2024-10-27 13:02:56,175 - root - INFO - Requested to load SDXL 2024-10-27 13:02:56,175 - root - INFO - Loading 1 new model 2024-10-27 13:02:57,287 - root - INFO - loaded completely 0.0 4897.0483474731445 True 2024-10-27 13:04:20,416 - root - INFO - Requested to load SDXL 2024-10-27 13:04:20,416 - root - INFO - Loading 1 new model 2024-10-27 13:04:21,107 - root - INFO - loaded completely 0.0 4897.0483474731445 True 2024-10-27 13:04:21,138 - root - ERROR - !!! Exception during processing !!! 'ControlNet' object has no attribute 'device' 2024-10-27 13:04:21,140 - root - ERROR - Traceback (most recent call last): File "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 323, 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 "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 198, 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 "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 169, in _map_node_over_list process_inputs(input_dict, i) File "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 158, in process_inputs results.append(getattr(obj, func)(inputs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack\modules\impact\special_samplers.py", line 600, in sample latent = impact_sample(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise, scheduler_func=scheduler_func_opt) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack\modules\impact\impact_sampling.py", line 226, in impact_sample return separated_sample(model, True, seed, advanced_steps, cfg, sampler_name, scheduler, positive, negative, latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack\modules\impact\impact_sampling.py", line 214, in separated_sample res = sample_with_custom_noise(model, add_noise, seed, cfg, positive, negative, impact_sampler, sigmas, latent_image, noise=noise, callback=callback) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack\modules\impact\impact_sampling.py", line 158, in sample_with_custom_noise samples = comfy.sample.sample_custom(model, noise, cfg, sampler, sigmas, positive, negative, latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\sample.py", line 48, in sample_custom samples = comfy.samplers.sample(model, noise, positive, negative, cfg, model.load_device, sampler, sigmas, model_options=model.model_options, latent_image=latent_image, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 753, in sample return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 740, in sample output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 719, in inner_sample samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\utils.py", line 34, in KSAMPLER_sample return orig_fn(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 624, in sample samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, self.extra_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Impact-Pack\modules\impact\impact_sampling.py", line 93, in sample_dpmpp_sde return k_diffusion_sampling.sample_dpmpp_3m_sde(model, x, sigmas, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 116, in decorate_context return func(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\k_diffusion\sampling.py", line 769, in sample_dpmpp_3m_sde denoised = model(x, sigmas[i] * s_in, extra_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 299, in call out = self.inner_model(x, sigma, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 706, in call return self.predict_noise(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 709, 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 "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 279, in sampling_function out = calc_cond_batch(model, conds, x, timestep, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 226, in calc_cond_batch output = model_options['model_function_wrapper'](model.apply_model, {"input": inputx, "timestep": timestep, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 116, in decorate_context return func(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\tiled_diffusion.py", line 778, in call self.process_controlnet(x_tile.shape, x_tile.dtype, c_in, cond_or_uncond, bboxes, N, batch_id) File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\tiled_diffusion.py", line 375, in process_controlnet cns = common_upscale(control.cond_hint_original, PW, PH, control.upscale_algorithm, 'center').to(dtype=dtype, device=control.device) ^^^^^^^^^^^^^^ AttributeError: 'ControlNet' object has no attribute 'device'

2024-10-27 13:04:21,142 - root - INFO - Prompt executed in 107.96 seconds 2024-10-27 13:19:04,778 - root - INFO - got prompt 2024-10-27 13:19:05,148 - root - INFO - Requested to load SDXLClipModel 2024-10-27 13:19:05,148 - root - INFO - Loading 1 new model 2024-10-27 13:19:05,462 - root - INFO - loaded completely 0.0 1560.802734375 True 2024-10-27 13:19:05,546 - root - INFO - Requested to load SDXL 2024-10-27 13:19:05,546 - root - INFO - Loading 1 new model 2024-10-27 13:19:10,285 - root - INFO - Requested to load AutoencoderKL 2024-10-27 13:19:10,285 - root - INFO - Loading 1 new model 2024-10-27 13:19:10,358 - root - INFO - loaded completely 0.0 159.55708122253418 True 2024-10-27 13:19:10,618 - root - INFO - Prompt executed in 5.83 seconds 2024-10-27 13:19:22,091 - root - INFO - got prompt 2024-10-27 13:19:27,151 - root - INFO - Prompt executed in 5.06 seconds 2024-10-27 13:19:41,082 - root - INFO - got prompt 2024-10-27 13:19:45,180 - root - INFO - Prompt executed in 4.09 seconds 2024-10-27 13:19:51,104 - root - INFO - got prompt 2024-10-27 13:19:51,127 - root - INFO - Requested to load SDXL 2024-10-27 13:19:51,127 - root - INFO - Loading 1 new model 2024-10-27 13:19:51,140 - root - ERROR - !!! Exception during processing !!! 'ControlNet' object has no attribute 'device' 2024-10-27 13:19:51,150 - root - ERROR - Traceback (most recent call last): File "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 323, 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 "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 198, 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 "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 169, in _map_node_over_list process_inputs(input_dict, i) File "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 158, in process_inputs results.append(getattr(obj, func)(inputs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\nodes.py", line 1442, in sample return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\nodes.py", line 1409, in common_ksampler samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\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 "G:\WebUI\ComfyUI\ComfyUI\comfy\sample.py", line 43, 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 "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\utils.py", line 51, in KSampler_sample return orig_fn(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 855, 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 "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 753, in sample return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 740, in sample output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 719, in inner_sample samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\utils.py", line 34, in KSAMPLER_sample return orig_fn(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 624, in sample samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, self.extra_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 116, in decorate_context return func(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\k_diffusion\sampling.py", line 155, in sample_euler denoised = model(x, sigma_hat * s_in, *extra_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 299, in call out = self.inner_model(x, sigma, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 706, in call return self.predict_noise(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 709, 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 "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 279, in sampling_function out = calc_cond_batch(model, conds, x, timestep, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 226, in calc_cond_batch output = model_options['model_function_wrapper'](model.apply_model, {"input": inputx, "timestep": timestep, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 116, in decorate_context return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\tiled_diffusion.py", line 778, in call self.process_controlnet(x_tile.shape, x_tile.dtype, c_in, cond_or_uncond, bboxes, N, batch_id) File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\tiled_diffusion.py", line 375, in process_controlnet cns = common_upscale(control.cond_hint_original, PW, PH, control.upscale_algorithm, 'center').to(dtype=dtype, device=control.device) ^^^^^^^^^^^^^^ AttributeError: 'ControlNet' object has no attribute 'device'

2024-10-27 13:19:51,152 - root - INFO - Prompt executed in 0.04 seconds 2024-10-27 13:24:35,925 - root - INFO - got prompt 2024-10-27 13:24:41,635 - root - INFO - Prompt executed in 5.71 seconds 2024-10-27 13:24:45,420 - root - INFO - got prompt 2024-10-27 13:24:50,151 - root - INFO - Prompt executed in 4.73 seconds 2024-10-27 13:24:51,840 - root - INFO - got prompt 2024-10-27 13:24:56,620 - root - INFO - Prompt executed in 4.78 seconds 2024-10-27 13:25:06,234 - root - INFO - got prompt 2024-10-27 13:25:06,265 - root - INFO - Requested to load SDXL 2024-10-27 13:25:06,266 - root - INFO - Loading 1 new model 2024-10-27 13:25:11,027 - root - INFO - Prompt executed in 4.79 seconds 2024-10-27 13:25:12,750 - root - INFO - got prompt 2024-10-27 13:25:17,515 - root - INFO - Prompt executed in 4.76 seconds 2024-10-27 13:25:21,232 - root - INFO - got prompt 2024-10-27 13:25:21,252 - root - INFO - Requested to load SDXL 2024-10-27 13:25:21,252 - root - INFO - Loading 1 new model 2024-10-27 13:25:26,024 - root - INFO - Prompt executed in 4.79 seconds 2024-10-27 13:26:36,280 - root - INFO - got prompt 2024-10-27 13:26:36,329 - root - ERROR - !!! Exception during processing !!! 'ControlNet' object has no attribute 'device' 2024-10-27 13:26:36,331 - root - ERROR - Traceback (most recent call last): File "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 323, 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 "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 198, 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 "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 169, in _map_node_over_list process_inputs(input_dict, i) File "G:\WebUI\ComfyUI\ComfyUI\execution.py", line 158, in process_inputs results.append(getattr(obj, func)(inputs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\nodes.py", line 1442, in sample return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\nodes.py", line 1409, in common_ksampler samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\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 "G:\WebUI\ComfyUI\ComfyUI\comfy\sample.py", line 43, 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 "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\utils.py", line 51, in KSampler_sample return orig_fn(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 855, 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 "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 753, in sample return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 740, in sample output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 719, in inner_sample samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\utils.py", line 34, in KSAMPLER_sample return orig_fn(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 624, in sample samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, self.extra_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 116, in decorate_context return func(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\k_diffusion\sampling.py", line 155, in sample_euler denoised = model(x, sigma_hat * s_in, *extra_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 299, in call out = self.inner_model(x, sigma, model_options=model_options, seed=seed) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 706, in call return self.predict_noise(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 709, 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 "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 279, in sampling_function out = calc_cond_batch(model, conds, x, timestep, model_options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\comfy\samplers.py", line 226, in calc_cond_batch output = model_options['model_function_wrapper'](model.apply_model, {"input": inputx, "timestep": timestep, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 116, in decorate_context return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\tiled_diffusion.py", line 778, in call self.process_controlnet(x_tile.shape, x_tile.dtype, c_in, cond_or_uncond, bboxes, N, batch_id) File "G:\WebUI\ComfyUI\ComfyUI\custom_nodes\ComfyUI-TiledDiffusion\tiled_diffusion.py", line 375, in process_controlnet cns = common_upscale(control.cond_hint_original, PW, PH, control.upscale_algorithm, 'center').to(dtype=dtype, device=control.device) ^^^^^^^^^^^^^^ AttributeError: 'ControlNet' object has no attribute 'device'

2024-10-27 13:26:36,333 - root - INFO - Prompt executed in 0.05 seconds

Myoko commented 2 hours ago

same here