Skip to content

Comments

KSamplerVariationsWithNoise+: fix sigmas on the wrong device error#77

Open
jetjodh wants to merge 1 commit intocubiq:mainfrom
jetjodh:patch-1
Open

KSamplerVariationsWithNoise+: fix sigmas on the wrong device error#77
jetjodh wants to merge 1 commit intocubiq:mainfrom
jetjodh:patch-1

Conversation

@jetjodh
Copy link

@jetjodh jetjodh commented Aug 29, 2024

I created and ran a workflow with KSamplerVariationsWithNoise+ and got the following error:

!!! Exception during processing!!! Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
 Traceback (most recent call last):
 File "/comfyui/execution.py", line 152, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
 File "/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 "/comfyui/execution.py", line 75, in map_node_over_list
     results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
  File "/comfyui/custom_nodes/ComfyUI_essentials/sampling.py", line 95, in execute
   work_latent["samples"] = latent_image["samples"].clone() + slerp_noise * sigma
 RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

I updated the code put the copy sigmas onto same device as latent_image.

@jetjodh
Copy link
Author

jetjodh commented Aug 29, 2024

Workflow in question:

{"1":{"inputs":{"ckpt_name":"sd_xl_base_1.0.safetensors"},"class_type":"CheckpointLoaderSimple","_meta":{"title":"Load Checkpoint"}},"2":{"inputs":{"vae_name":"sdxl_vae.safetensors"},"class_type":"VAELoader","_meta":{"title":"Load VAE"}},"3":{"inputs":{"value":["1",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Reroute Primitive 🐍"}},"4":{"inputs":{"value":["1",1]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Reroute Primitive 🐍"}},"5":{"inputs":{"text":"","clip":["1",1]},"class_type":"CLIPTextEncode","_meta":{"title":"CLIP Text Encode (Positive)"}},"6":{"inputs":{"text":"","clip":["1",1]},"class_type":"CLIPTextEncode","_meta":{"title":"CLIP Text Encode (Negative)"}},"7":{"inputs":{"width":1024,"height":1024,"batch_size":1},"class_type":"EmptyLatentImage","_meta":{"title":"Empty Latent Image"}},"8":{"inputs":{"value":["3",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Model Reroute"}},"9":{"inputs":{"value":["5",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Positive Reroute"}},"10":{"inputs":{"value":["6",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Negative Reroute"}},"11":{"inputs":{"steps":25,"cfg":6,"sampler_name":"euler","scheduler":"ddim_uniform","denoise":1,"seed":1337,"model":["8",0],"positive":["9",0],"negative":["10",0],"latent_image":["7",0]},"class_type":"KSampler","_meta":{"title":"KSampler"}},"12":{"inputs":{"samples":["18",0],"vae":["2",0]},"class_type":"VAEDecode","_meta":{"title":"VAE Decode"}},"13":{"inputs":{"value":["5",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Reroute Primitive 🐍"}},"14":{"inputs":{"value":["6",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Reroute Primitive 🐍"}},"15":{"inputs":{"value":["3",0]},"class_type":"ReroutePrimitive|pysssss","_meta":{"title":"Reroute Primitive 🐍"}},"16":{"inputs":{"image":"upl-0c5ecbca-8847-414a-a3d5-63e84d8278a5"},"class_type":"ETN_LoadImageBase64","_meta":{"title":"Load Image (Base64)"}},"17":{"inputs":{"pixels":["16",0],"vae":["2",0]},"class_type":"VAEEncode","_meta":{"title":"VAE Encode"}},"18":{"inputs":{"main_seed":1337,"steps":25,"sampler_name":"dpmpp_2m","scheduler":"karras","cfg":6,"variation_strength":0.4,"variation_seed":1337,"denoise":0.9,"latent_image":["17",0],"positive":["13",0],"negative":["14",0],"model":["15",0]},"class_type":"KSamplerVariationsWithNoise+","_meta":{"title":"🔧 KSampler Variations with Noise Injection"}},"save_image_websocket_node":{"inputs":{"images":["12",0]},"class_type":"SaveImageWebsocket","_meta":{"title":"Save Image Websocket"}}}

@cubiq
Copy link
Owner

cubiq commented Aug 29, 2024

the sigma code is correct, we need to ensure that the original noise is on the same device not vice-versa. I'll look into it

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

Successfully merging this pull request may close these issues.

2 participants