🌟

Stable Diffusionによる画像生成(Python ローカル実行版 スクリプトに認証トークンを記載しないで実行する方法)

2022/09/11に公開

概要

スクリプトに認証トークンを記載しないで実行する方法です。

※ただし、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