概要
GoogleColaboratoryで流行りの画像生成AIを使う方法をメモしてみました。
公式のdocsを参考に、最終的にGoogleドライブに保存するようにしています
https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion_2
やり方
以下の番号ごとに実行していきます。
※私の場合は、セルごとに分けて記載して実行しています。
①必要なライブラリのインストール
!pip install diffusers transformers scipy ftfy
②stableDiffusionを使う準備
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
import torch
repo_id = "stabilityai/stable-diffusion-2"
pipe = DiffusionPipeline.from_pretrained(repo_id, torch_dtype=torch.float16, revision="fp16")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")
③文字から画像を作成して保存する
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
import torch
# reは正規表現を使用するための標準ライブラリ
import re
# 保存先フォルダを初期化
!rm -rf make-img
!mkdir make-img
# 作成したい画像の説明文
prompt = "A photo of woman, a elaborate beautiful background, a well-groomed face, beautiful eyes, the most beautiful body I've ever seen"
# 画像のファイル名
filename = re.sub(r'[\\/:*?"<>|,]+','',prompt).replace(' ','_')
# 作成する画像数
num = 2
for i in range(num):
image = pipe(prompt, guidance_scale=9, num_inference_steps=20).images[0]
image.save(f'/content/make-img/{filename}_{i:02}.png')
④作成したファイルを自分のドライブフォルダにコピーする
※必要に応じて実行してください
/content/drive/MyDrive/python-imgを自分の保存先に変えてください
!cp -r /content/make-img /content/drive/MyDrive/python-img
①、②は一度実行すればランタイムの接続が切れるまでは再度実行は不要です。※毎回実行するとエラーにはなりませんが、時間がかかります
もし何度も画像を作成したい場合は③、④を再度実行してください
感覚的に2.0は出たばかりで使う人が多いのか、一枚の画像を作る時間が1.5よりも時間がかかるような気がします。
ただ画像の質はかなり上がったような気がします。