
Anything v4.0でAI画像生成をしてみた
anything v4.0でAI画像生成をしてみたという記事になります。anything v3.0の人とは別の人な気がしますが、とりあえずGoogle Colaboratoryで使ってみました。
!pip install torch
!pip install --upgrade diffusers transformers scipy
!pip install datetime
from diffusers import StableDiffusionPipeline
import torch
import datetime
model_id = "andite/anything-v4.0"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")
prompt = "masterpiece, best quality, 1girl, white hair, medium hair,looking at viewer, :3, cute, scarf, jacket, outdoors, Sampler: DPM++ 2M Karras, CFG scale: 7"
for i in range(5):
image = pipe(prompt).images[0]
timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
image.save(f"image_{timestamp}.png")
このプログラムは、Diffusion Modelsを使用して、指定されたプロンプトに基づいて複数の画像を生成するPythonプログラムです。以下に、各行の機能を説明します。
1行目: torchライブラリをインストールしています。
2行目: diffusers、transformers、scipyライブラリをインストールしています。
3行目: datetimeライブラリをインストールしています。
5行目: 学習済みのDiffusion Modelを使用するためのモジュールである StableDiffusionPipeline をインポートします。
6行目: PyTorchライブラリをインポートします。
8行目: 使用するモデルのIDを指定しています。
9行目: from_pretrained()メソッドを使用して、学習済みのモデルを読み込んでいます。また、torch.float16を指定して、精度を抑えることができます。
10行目: CUDAを使用して、GPU上でモデルを実行するために、モデルをCUDAに転送します。
12行目: モデルの入力として使用するプロンプトを指定しています。このプロンプトは、生成される画像の特徴を決定するために使用されます。
14~18行目: 5回のループを実行し、プロンプトに基づいて画像を生成します。
15行目: pipe(prompt).images[0]を使用して、モデルにプロンプトを渡し、生成された画像を取得しています。
16行目: 現在の日時を取得して、ファイル名に使用します。
17行目: 生成された画像を指定されたファイル名で保存します。
このプログラムは、Diffusion Modelsを使用して、指定されたプロンプトに基づいて複数の画像を生成し、それらをファイルに保存することができます。

