見出し画像

StableDiffusionXL 0.9が正式リリースされた

2023/7/9にStableDiffusionXL0.9が公開されました。
ちょうど昨日、DreamStudioで試していたのですが、無料枠は限られていましたのでパソコンで環境を作りたいと思います。今回もBRAV6、BracingEvoMixとなるべく同じ設定で検証したいと思います。

まずはDreamStudioを使ってみて、出力される画像を確認して、パソコンに設定して試したいと思います。

1. StableDiffusionXL0.9をDreamStudioで試す

Stability AIが提供しているDreamStudioという画像生成サービスで最新のStableDiffusionXL0.9(SDXL0.9)を試すことができます。

無償で生成できる画像数は限られていますが、BracingEvoMixとBRAV6のプロンプトに日本人のキーワードを追加してどのような画像が生成されるか試してみました。

DreamStudioで出力

生成に時間が掛かるようになったのですが、StabeDiffusion2.1と比べますと現実的な画像が生成されたと思います。少し服の着方が不自然に見えますが、重ね着まで描画しているのは驚きました。

2. StableDiffusionXL0.9をパソコンで試す

早速、StableDiffusionXL0.9をダウンロードしました。ダウンロードにはHugging faceのアカウントでログインが必要です。ファイルサイズも相当に大きいです。ダウンロードしたファイルはPythonコードと同じフォルダに配置してください。

コードはBracingEvoMixとBRAV6で書いたものをベースに改造しました。ネガティヴ プロンプトにEasyNegativeを使っていたのですが、そのままですとエラーが出たので、ひとまず処理を削除しました。

from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler
import torch

seed = 123
steps = 35
scale = 7.0

model_id = "sd_xl_base_0.9.safetensors"

pipe = StableDiffusionPipeline.from_ckpt(model_id, load_safety_checker = False, extract_ema = True, torch_dtype = torch.float16)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to("cuda")

prompt = "((masterpiece:1.4, best quality)), ((masterpiece, best quality)),  (photo realistic:1.4), japanese, woman, female, Beautiful face, happy, smile, bright eyes,"
negative_prompt = "nsfw, flat color, flat shading,retro style, poor quality, bad face, bad fingers, bad anatomy, missing fingers, low res, cropped, signature, watermark, username, artist name, text"
generator = torch.Generator(device="cuda").manual_seed(seed)

image = pipe(prompt = prompt, negative_prompt = negative_prompt, generator = generator, num_inference_steps = steps, guidance_scale = scale, width = 768,height = 768,).images[0]
image.save(f"./step{steps}_seed{seed}.png")

実行はステップ数が35のとき、1ステップあたり平均10秒程度かかりましたので、完成までに6分弱かかっています。どうやら私のパソコンで使うには少し現実的でないようです。

プログラムからの出力

たしかにベースとしては素晴らしく、学習を重ねると、飛躍的に進化していくと思います。しかし使っているパソコンの性能がStableDiffusionXLの要求を満たしていないことが明らかになりました。

この記事が気に入ったらサポートをしてみませんか?