🌟
Stable Diffusionによる画像生成(Python ローカル実行版 スクリプトに認証トークンを記載しないで実行する方法)
概要
スクリプトに認証トークンを記載しないで実行する方法です。
※ただし、AIモデルのダウンロード時には認証と同意が必要です。
なお、使っているのは ZOTAC GAMING GeForce RTX 2060 Twin Fan (Memory 6GB) です。
実行方法
上記に記載がある通り、stable-diffusion-v1-4 を git clone する。(10GB以上あるので注意)
git lfs install
git clone https://huggingface.co/CompVis/stable-diffusion-v1-4
cloneした stable-diffusion-v1-4 ディレクトリを "./stable-diffusion-v1-4" のように指定すればOK。
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
model_id = "./stable-diffusion-v1-4"
device = "cuda"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16, revision="fp16", use_auth_token=False)
pipe = pipe.to(device)
prompt = "a photo of an astronaut riding a horse on mars"
with autocast("cuda"):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
image.save("astronaut_rides_horse.png")
参考
上記には、2022年9月11日現在、下記のモデルが置かれている。
- stable-diffusion-v1-1 Diffusers
- stable-diffusion-v1-2 Diffusers
- stable-diffusion-v1-3 Diffusers
- stable-diffusion-v1-4 Diffusers
- stable-diffusion-v-1-1-original CompVis
- stable-diffusion-v-1-2-original CompVis
- stable-diffusion-v-1-3-original CompVis
- stable-diffusion-v-1-4-original CompVis
Diffusers libraryの方の Stable Diffusion を使うことが推奨されている。
"-original" の方は 元々の CompVisのコードであるとのこと。
Discussion