ジャコ Lab

プログラミング関連のメモ帳的ブログです

MeinaMix を Google Colab で使ってみる

とりあえず今まで stabilityai/stable-diffusion-2-1 という 純粋な Stable Diffuson? を使っていました。
何故ならば、検索に引っかかるものは派生系が多いので、とりあえず Stable Diffusion そのもの を使いたかったからです。

huggingface.co

この記事では、ついに別のモデルを使ってみようと思います。
色々検索しているときに引っかかった MeinaMix というのを使ってみたいと思います。

MeinaMix とは

huggingface.co

Stable Diffusion 系モデルでアニメ系美少女が得意なモデルっぽいです。

モデルによって得意不得意があるんですね。
今までオバケを生成しようとしてましたがモデルによって強みがあるっぽいので、
stabilityai/stable-diffusion-2-1 で作るにはプロンプトを超頑張らないといけないのでは?という考えになってます。

とりあえず実行してみる

モジュールをインストールする

!pip install --upgrade diffusers[torch] transformers

パイプラインを準備する

from diffusers import StableDiffusionPipeline
import torch

pipe = StableDiffusionPipeline.from_pretrained(
    "Meina/MeinaMix_V11",
    torch_dtype=torch.float16,
    # revision="fp16"
).to("cuda")
revision="fp16" は `stabilityai/stable-diffusion-2-1` 用なのか、ここではエラーになりました

プロンプトを準備する

generator = torch.Generator()
generator.seed()
print(f"Seed: {generator.initial_seed()}")

# とりあえず Model card に記載されていた通り Civitai の例を参考にしてみました
prompt = "1girl, japanese clothes, ponytail ,white hair, purple eyes, magic circle, blue fire, blue flames, wallpaper, landscape, blood, blood splatter, depth of field, night, light particles, light rays, sidelighting, thighs, fate \(series\), genshin impact, ****, open jacket, skirt, thighhighs, cloud"
negative_prompt = "(worst quality:1.6, low quality:1.6), (zombie, sketch, interlocked fingers, comic)"

image = pipe(
    prompt,
    negative_prompt=negative_prompt,
    generator=generator,
    width=768,
    height=512,
).images[0]
image

実行

Seed: 7258102734773688432

なんか、とてもカッコイイのができました!
今までの stabilityai/stable-diffusion-2-1 で生成していたものはなんだったんだ。。。

同じプロンプトで stabilityai/stable-diffusion-2-1 を実行してみよう

うーん。。。
前回までのオバケより全然すごいけど。。。
モデルの凄さがわかりました。。。

MeinaMix で前回のオバケをやってみよう

ネガティブプロンプトはそのまま使わせてもらおう

実行結果

美少女の横に出てきたw
美少女は必ず出てきてしまうんですね。。。

まとめ

モデルすごい!
モデル探しが重要になりそう!