まだまだわからないことが多いけれども、ひとまず生成できたのでログを残します。
参考
画像生成AI「Stable Diffusion」を低スペックPCでも無料かつ待ち時間なしで使う方法まとめ – GIGAZINE
cagliostrolab/animagine-xl-3.0 · Hugging Face
手順
- Hagging Faceでアカウントを登録し、アクセストークンをread権限で発行し、メモする。
- Google Colaboratoryで必要なものをインストールするために、次のコマンドを実行する。
pip install diffusers transformers accelerate safetensors
HF_TOKEN="1番で発行したHagging Faceのアクセストークン"
3. 次のPythonコードを実行し、設定を行う。
import torch
from diffusers import (
StableDiffusionXLPipeline,
EulerAncestralDiscreteScheduler,
AutoencoderKL
)
# Load VAE component
vae = AutoencoderKL.from_pretrained(
"madebyollin/sdxl-vae-fp16-fix",
torch_dtype=torch.float16
)
# Configure the pipeline
pipe = StableDiffusionXLPipeline.from_pretrained(
"cagliostrolab/animagine-xl-3.0",
vae=vae,
torch_dtype=torch.float16,
use_safetensors=True,
token=HF_TOKEN,
)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to('cuda')
4. 次のコードを実行し、生成する画像の条件を設定し、画像を生成する。
prompt = "好きなプロンプト"
negative_prompt = "NGにしたいプロンプト"
image = pipe(
prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=7,
num_inference_steps=28
).images[0]
# 生成した画像を表示したいなら、「image」の1文を追加すれば良い。
5. 次のコードを実行し、画像を保存する。
image.save('ファイル名.拡張子')
prompt等の例
prompt = "saber, fate \(series\), masterpiece"
negative_prompt = "EasyNegativeV2, negative_hand-neg, bad fingers, missing fingers, too many arms, too many legs, poor quality, worst quality, low quality, normal quality, bad anatomy, text, signature"
image = pipe(
prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=20,
num_inference_steps=28
).images[0]
image