diffusersで使える Stable Diffusionモデル一覧
diffusersで使える Stable Diffusionモデルが増えてきたので、まとめてみました。
1. diffusersで使える Stable Diffusionモデル一覧
「diffusers」は、様々なDiffusionモデルを共通インターフェイスで利用するためのパッケージです。Stable Diffusionモデルも多数利用できます。
diffusersで使える Stable Diffusionモデル一覧は、以下のサイトで確認できます。
Stable Diffusionモデルの使い方の基本は、以下で紹介しています。基本的にはパイプラインのモデルIDを変更するのみで、切り替えることができます。
2. Stable Diffusion 1.4
原点となる「Stable Diffusion」モデルの最新版です。
パイプラインの作成方法は、次のとおりです。
from diffusers import StableDiffusionPipeline
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"CompVis/stable-diffusion-v1-4",
use_auth_token=True
).to("cuda")
「cute cat ear maid」の推論結果は、次のとおりです。
3. Waifu Diffusion
2次元絵が得意で有名な「Waifu Diffusion」モデルです。
パイプラインの作成方法は、次のとおりです。モデルIDだけでも切り替わりますが、推奨パラメータを設定した方がクォリティが上がります。
import torch
from diffusers import StableDiffusionPipeline, DDIMScheduler
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"hakurei/waifu-diffusion",
torch_dtype=torch.float16,
revision="fp16",
scheduler=DDIMScheduler(
beta_start=0.00085,
beta_end=0.012,
beta_schedule="scaled_linear",
clip_sample=False,
set_alpha_to_one=False,
),
use_auth_token=True
).to("cuda")
「cute cat ear maid」の推論結果は、次のとおりです。
4. Trinart Diffusion v2
やわらかいタッチの2次元絵が得意な「Trinart Diffusion」モデルです。
パイプラインの作成方法は、次のとおりです。revision指定 (diffusers-60k / diffusers-95k / diffusers-115k) が必要です。
from diffusers import StableDiffusionPipeline
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"naclbit/trinart_stable_diffusion_v2",
revision="diffusers-60k",
use_auth_token=True
).to("cuda")
「cute cat ear maid」の推論結果は、次のとおりです。
5. Trinart Waifu Diffusion 50-50
「Waifu Diffusion」と「Trinart Diffusion」 (trinart2_step115000) を融合したモデルです。
パイプラインの作成方法は、次のとおりです。
from diffusers import StableDiffusionPipeline
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"doohickey/trinart-waifu-diffusion-50-50",
use_auth_token=True
).to("cuda")
「cute cat ear maid」の推論結果は、次のとおりです。
6. Japanese Stable Diffusion
日本語から画像生成できるモデルです。
日本語を使う分、使い方が他のモデルとは異なります。
(1) 「Japanese Stable Diffusion」のサイトでライセンス合意。
(2) 新規Colabノートブックを開き、GPUを有効化。
(3) パッケージのインストール。
# パッケージのインストール
!pip install git+https://github.com/rinnakk/japanese-stable-diffusion
(4) HuggingFaceにログイン。
# HuggingFaceにログイン
from huggingface_hub import notebook_login
notebook_login()
(5) パイプラインの準備。
import torch
from torch import autocast
from diffusers import LMSDiscreteScheduler
from japanese_stable_diffusion import JapaneseStableDiffusionPipeline
pipe = JapaneseStableDiffusionPipeline.from_pretrained(
"rinna/japanese-stable-diffusion",
torch_dtype=torch.float16,
scheduler=LMSDiscreteScheduler(
beta_start=0.00085,
beta_end=0.012,
beta_schedule="scaled_linear",
num_train_timesteps=1000
),
use_auth_token=True
).to("cuda")
(6) 推論の実行。
from torch import autocast
# テキストからの画像生成
prompt = "かわいい猫耳メイド"
with autocast("cuda"):
images = pipe(prompt, guidance_scale=7.5).images
images[0].save("output.png")
「かわいい猫耳メイド」の推論結果は、次のとおりです。
7. SD Pokémon Diffusers
「Stable Diffusion」モデルにポケモンでファインチューニングしたモデルです。
パイプラインの作成方法は、次のとおりです。
from diffusers import StableDiffusionPipeline
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"lambdalabs/sd-pokemon-diffusers",
use_auth_token=True
).to("cuda")
「cute cat ear maid」の推論結果は、次のとおりです。
8. Stable Diffusion Dreambooth Concepts Library
「Stable Diffusion Dreambooth Concepts Library」は、「DreamBooth」のファインチューニングでオブジェクト (object)や画風 (style)を追加学習させたモデルのコレクションです。
今回は以下のモデルで試してみます。
パイプラインの作成方法は、次のとおりです。
import torch
from diffusers import StableDiffusionPipeline
# StableDiffusionパイプラインの準備
pipe = StableDiffusionPipeline.from_pretrained(
"sd-dreambooth-library/a-hat-in-time-girl",
torch_dtype=torch.float16,
use_auth_token=True
).to("cuda")
「cute cat ear sks」の推論結果は、次のとおりです。
【おまけ】 use_auth_token
StableDiffusionPipeline.from_pretrained() の use_auth_token=YOUR_TOKEN で、HuggingFaceのサイトで取得できるトークンを指定しますが、以下を実行してHuggingFaceにログインした後であれば、use_auth_token=YES で利用できるようになります。
# HuggingFaceにログイン
from huggingface_hub import notebook_login
notebook_login()
この記事が気に入ったらサポートをしてみませんか?