shinke1987.net
雑多な備忘録等のはず。
他のカテゴリ・タブ
目次
PR

Google ColaboratoryでANIMAGINE XL 3.0を利用して、画像を生成する

2024-06-27 2024-06-27

まだまだわからないことが多いけれども、ひとまず生成できたのでログを残します。

参考

画像生成AI「Stable Diffusion」を低スペックPCでも無料かつ待ち時間なしで使う方法まとめ – GIGAZINE

cagliostrolab/animagine-xl-3.0 · Hugging Face

手順

  1. Hagging Faceでアカウントを登録し、アクセストークンをread権限で発行し、メモする。
  2. 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