ブログ

ブログです。

AIと戯れる:Stable Diffusion(お絵かきAI的なやつ)の最新版をGoogle Colabで動かして、Google ドライブに「時刻+連番」のファイル名で複数の画像を出力する方法

さっきAIで生成した画像。
虚無っぽい画像を作ってむなしくなるのが私のなかで流行しています
AIで美少女作る人おおすぎるけど、
変な画像を生成するキモい装置として使ったほうが断然おもしろい

世の中には頭がいい上に知っていることを周りに共有してくれる神のような人がいるので、そういう人が書いたものを探すと、暇な人はAIで遊んで幸せになることができます。

Google Colab で SDXL 1.0を試す|npaka

おれは↑この記事を読んで、最近の画像生成AIで遊べるようになったので、暇な友達向けにシェアします。

---

それから他にもいくつかググって得た情報をもとに、自分が遊びやすいように少しだけ改良、というか、他の記事で得た情報などを合体させて、Google Colabのノートブックをつくって、それで遊んでる。気持ち悪い画像が沢山つくれて、バケモノ工場で働いてるみたいな気持ちが味わえるのでたのしいです。なので、PCが要るけど、暇で試したい方向けに、おれの出来る範囲で手順を書いてみます。

5分くらいあれば画像生成まで行けると思うので暇で興味がある友達がいたらがんばって!!!

あと、おれはプログラミングの知識が皆無なので、

ここ直したほうがいいよとか分かる人がいたら記事のコメントで教えてくれたらうれしいです。

---あそびかた---

1. Google Colabで新しいノートブックを作る

 Google Colabとは、Googleのアカウントがあれば無料で使える、

 なんかスーパーコンピューターみたいなやつです。

2. ノートブックを編集する画面の上部のメニューから、

 「ランタイム」>「ランタイムのタイプを変更」を押して、

 「ハードウェア アクセラレータ 」を「GPU」ってやつに変えて設定保存する

3. ノートブックの画面左上に「+ コード」って書いてあるところがあるので、

 何回か押してコードの入力欄が3個ある状態にする

4. それぞれのコードに下記の内容をコピペする

 ・1個目のコード

#お絵かきAIの準備

!pip install diffusers --upgrade
!pip install invisible_watermark transformers accelerate safetensors
from diffusers import DiffusionPipeline
import torch

pipe = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16,
    use_safetensors=True,
    variant="fp16"
    )
pipe.to("cuda")

 ・2個目のコード

# Google Driveに出力するための接続
# 今は「/content/drive/MyDrive/AI」となっているので、
# Google Drive内の「AI」というフォルダに画像が保存されるようになっている。
# 「AI」の部分を好きなフォルダ名に書き換えても多分うごく

from google.colab import drive
drive.mount('/content/drive')

import os
os.chdir('/content/drive/MyDrive/AI')

 ・3個目のコード

# テキストからの画像生成:下記promptの""内の英文をもとに画像生成
# 例として「リンゴとゴリラとラッパ」と書いてある

prompt = "apple and gorilla and trumpet"


import datetime
now = datetime.datetime.now()

i = 1

#下記の「height」と「width」の数字は、512か768か1024などの数を入れて好きな画面比率にする
#よくわからないけど、上記以外の数字を入れるとエラーになる(多分、8の倍数か何かである必要がある)
#例 height=768, width=1024 だったら、縦768px 横1024 の画像が出来る


#この下の、「ここから」~「ここまで」を好きな個数コピペすると、
#コピペした数だけ「時刻+連番」のファイル名で画像が生成される
#なんか日本の時刻にならないけど、よくわからない

#ここから
image = pipe(prompt, height=1024, width=1024).images[0]
image.save(f"{now.strftime('%Y-%m-%d_%H-%M-%S')}_{i}.png")
i += 1
#ここまで

#ここから
image = pipe(prompt, height=768, width=1024).images[0]
image.save(f"{now.strftime('%Y-%m-%d_%H-%M-%S')}_{i}.png")
i += 1
#ここまで

#ここから
image = pipe(prompt, height=1024, width=768).images[0]
image.save(f"{now.strftime('%Y-%m-%d_%H-%M-%S')}_{i}.png")
i += 1
#ここまで

5. [Ctrl]+[F9]で待ってると多分うごく。

6. お絵かきAIの準備とかGoogle ドライブに接続とかは最初だけやればいいので、

 以降は上記「3個目のコード」の左にある再生ボタンみたいなやつを押せばOK

 ボタンを押す前に、プロンプトの英文を好きなものに書き換えたり、

 画像の画面比率を好きなように変えたり、枚数を増やしたりする

---あそびかた・終---

以上です。Google Colabを開いてコピペするだけなので、興味があったらためしてみてね!いっぱい遊ぶと、街中の景色がAI生成のニセモノの風景みたいに見えて心の調子が怪しくなったりします。

思い出せた記事が、最初に引用したひとつだけだったんだけど、いろいろ調べて読んだおかけで遊べてる感じです。Stable Diffusionの使い方について記事を書いてくださった方達、このブログを読むことは無いと思いますが、どうもありがとうございます。