Getting this error:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0!
(when checking argument for argument index in method wrapper_CUDA__index_select)
I’ve tried this:
vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix",
torch_dtype=torch.float16
)
base = StableDiffusionXLPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0",
vae=vae,
torch_dtype=torch.float16,
variant="fp16",
use_safetensors=True
)
refiner = StableDiffusionXLImg2ImgPipeline.from_pretrained("stabilityai/stable-diffusion-xl-refiner-1.0",
text_encoder_2=base.text_encoder_2,
vae=vae,
torch_dtype=torch.float16,
use_safetensors=True,
variant="fp16"
)
base.to("cuda:0")
refiner.to("cuda:1")
latents = base(
"wow",
num_inference_steps=20,
output_type="latent",
).images
# latents.to("cuda:1") # have tried with and without this, both give the same error...
image = refiner(
"wow",
num_inference_steps=30,
image=latents
).images[0]