今回は Van Gogh Diffusion というモデルを使ってみます。
なぜ?
AIアートの話をしていたら、
「もしゴッホが生きていたら~とか出来そうですね」 という話になったので、
じゃあやってみよ。ということでググりました。
Van Gogh Diffusion とは
その名の通り、ゴッホ風のイラストを生成するモデルです。
少し前に stabilityai/stable-diffusion-2-1
で頑張ってオバケを出そうとしていた頃とは違い、モデルというものを理解してきました。
そう、、、Van Gogh Diffusion とは、
ゴッホ風のイラストを生成するのが 得意なモデル である!
Google Colab で実行
ランタイムタイプを GPU に変更
パッケージをインストール
# パッケージのインストール !pip install --upgrade diffusers[torch]
パイプラインを準備 (EasyNegative 付き)
from diffusers import StableDiffusionPipeline, EulerDiscreteScheduler import torch pipe = StableDiffusionPipeline.from_pretrained( "dallinmackay/Van-Gogh-diffusion", torch_dtype=torch.float16, ).to("cuda") pipe.load_textual_inversion( "embed/negative", weight_name="EasyNegativeV2.safetensors", token="EasyNegative" )
パイプラインを実行 (12個一気に生成)
import os from datetime import datetime from zoneinfo import ZoneInfo # ディレクトリを作成する (存在していてもエラーにはしない) os.makedirs('outputs', exist_ok=True) # Asia/Tokyo タイムゾーンの現在時刻を YYYYMMDDhhmmss 形式で得る now = datetime.now(tz=ZoneInfo("Asia/Tokyo")); formattedNow = now.strftime("%Y%m%d%H%M%S") # プロンプトの準備 prompt = "lvngvncnt, sunflower and gentleman" negative_prompt = "EasyNegative" # パイプラインを実行 generator = torch.Generator() for idx in range(12): generator.seed() print(f"Seed: {generator.initial_seed()}") image = pipe( prompt, negative_prompt=negative_prompt, width=768, height=512, ).images[0] image.save(f"outputs/{formattedNow}_{idx}_{generator.initial_seed()}.png")
プロンプトに `lvngvncnt` というキーワードは必須みたいです
生成物
おお~すごい!
その他
猫もいい感じに描画されました。
A very cute cat
, night sky
, sunflower
, cherry blossoms
などのキーワードを使いました
まとめ
MeinaMix を Google Colab で使ってみる - ジャコ Lab
でも言いましたが、 モデルってすごい!!