Diffusersで他のコンポーネントを使用する
Table of Contents
Diffusersでは、さまざまなモデルの異なる事前学習済みコンポーネント(U-Net、VAE、テキストエンコーダーなど)を組み合わせることができます。これにより、異なる組み合わせを実験して、生成される画像にどのような影響を与えるかを確認できます。
import torch
from diffusers import StableDiffusionPipeline, AutoencoderKL
model_id = "CompVis/stable-diffusion-v1-4"
device = "cuda"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
# SD1.x用のより良いVAEに切り替え
vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse")
pipe.vae = vae
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
image = pipe(prompt).images[0]
image.save("astronaut_rides_horse.png")