LoginSignup
1
2

More than 1 year has passed since last update.

Google ColabでAUTOMATIC1111を使ってAI画像を生成してみたメモ

Last updated at Posted at 2023-02-26

概要

前回はローカルでCPUを使って動かしたが、1枚に3分程度かかってしまい、数をこなすのは向いていなかった。
今回は、速度改善を目指して、Google ColabでAIイラスト作成を行う。

作成された画像
image.png

用語 説明
Google Colaboratory Pythonの実行環境を用意してくれており、ノートブックの単位でソースを管理できる。
ノートブック 実行可能コードとリッチテキストを1つのドキュメント上で表したもの。GoogleDriveの「Colab Notebooks」ディレクトリに保存される
Stable Diffision AIお絵描きツール
AUTOMATIC1111 Stable Diffisionのパラメータ入力などを行いやすくしたWebGUI
SukiyakiMix-v1.0 StableDiffusionのおすすめモデルを紹介 | アニメ調イラストのクオリティを劇的に向上させるカスタムモデル より、今回使用した学習model

Google Colabへの登録

画像生成AI「Stable Diffusion」を低スペックPCでも無料かつ待ち時間なしで使う方法まとめを参考にしていく。

Google Colaboratoryへアクセス。

公式サイトへアクセス
https://colab.research.google.com/?hl=ja

ログイン

image.png

ノートブックの環境確認

ノートブックを触るのは初めてなので、動作確認をした。
興味がない人は読み飛ばしても構わない。

ノートブックを新規作成

image.png

ノートブックの設定

  • GPUを使用するように設定

image.png

ノートブックの位置確認

Googleドライブの「Colab Notebooks」ディレクトリに保存される。

image.png

環境の確認

動作確認として、下記コードを実行。Tesla T4であることを確認。
書いたコードにマウスオーバすると出てくる 実行ボタンをクリックで起動できる。
同じノートブック上で行った環境設定はコードブロックが別でも引き継がれる。ランタイムのメモリサイズに注意。

!nvidia-smi

image.png

Sun Feb 26 04:12:54 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12    Driver Version: 525.85.12    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   60C    P0    28W /  70W |      0MiB / 15360MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

modelのダウンロード

StableDiffusionのおすすめモデルを紹介 | アニメ調イラストのクオリティを劇的に向上させるカスタムモデル より、Sukiyaki モデルを選んだ。
fp16とfp32があるが、Colabはメモリ制限があるため、fp16のほうを使用することとする。

image.png

GoogleDriveの MyDrive/StableDiffision/models/SukiyakiMix-v1.0-fp16.ckptにダウンロードしたファイルを保存した。

AUTOMATIC1111の準備

AUTOMATIC1111をGoogle Colabで使用する方法
より

完成したノートブック

image.png

Colab Note の確認

AUTOMATIC1111の公式リポジトリからmaintained by Akaibuのノートブックをコピーする。

image.png

image.png

Goolgle Driveの許可

コピーしたノートブックに追記していく。
GoogleDriveに保存したmodelを使うため、まずはノートブックからGoogleDriveへのアクセスを許可する。
下記をノートの先頭に入力して実行。

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

実行すると許可を求められるので、承認していく。

image.png

image.png

許可をすると、以下のようにマウント完了が通知される。
image.png

フォルダを確認すると、 driveというフォルダが作成されていることが確認できる。

image.png

image.png

WebUIのダウンロード

GITHUBからAUTOMATIC1111のダウンロードを行う。
元のノートブックはmodelをダウンロードする設定となっているが、今回はGooleDriveに保存済なので、最後の3行をコメントアウトして実行する。

!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui

#@title SD1.5
# get a token from https://huggingface.co/settings/tokens
#user_token = "" #@param {type:"string"}
#user_header = f"\"Authorization: Bearer {user_token}\""
#!wget --header={user_header} https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.ckpt -O /content/stable-diffusion-webui/model.ckpt

Google Drive からmodelをコピー

下記を追記して実行

!cp /content/drive/MyDrive/StableDiffision/models/SukiyakiMix-v1.0-fp16.ckpt  /content/stable-diffusion-webui/models/Stable-diffusion/

起動

なんとなくme:qwerty(user:password)を書き換えたが、これはどっちでもいいと思う。

!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth hoge:hugaHuga!" REQS_FILE="requirements.txt" python launch.py

実行すると、リンクが表示されるのでクリック。
AUTOMATIC1111のページが表示される。

image.png

画像の生成

パラメータの設定

パラメータの設定を参考に、パラメータを設定する。

項目 日本語 説明
Sampling method サンプラー サンプラーを変更することで、ニュアンスの異なる画像を生成
Sampling steps ステップ数 設定値が高いほど高精細な画像になりますが、生成時間が長くなります。100~120程度に設定するのが時間、精度を考慮するとバランスが良い
Batch count 生成枚数 枚数
CFG Scale スケール Guidance Scale(ガイダンススケール)。画像生成プロセスが入力されたプロンプト(呪文)にどれくらい忠実に描画を行うかを制御する.デフォルト値は7.5。1が設定された場合は、プロンプトは完全に無視。
Seed シード 同じパラメーター、プロンプト、シードを設定すると同じ画像が生成される。-1だとランダム

パラメータ解説より。

実行

パラメータを下記のように入力し、「Generate」ボタンを押した。
30秒程度で1枚が出力された。

項目
プロンプト takamori aiko
Sampling method Euler a
Sampling steps 20
Batch count 1
CFG Scale 7
Seed 10

image.png

以上!

2023.03.21 追記 LoRAを試す。

ソースコード修正

【保存版】Kohya版LoRAインストール&設定、WebUIでの使用法まで解説 キャラ学習手順備忘録 - 完成品を使用してみるを参考に、高森藍子さんのLoRA(AikoTakamoriV1.safetensors*)を設定してみた。
safetensorsファイルをダウンロード後、グーグルドライブに配置。
modelのコピーに追記。

!cp /content/drive/MyDrive/StableDiffision/models/SukiyakiMix-v1.0-fp16.ckpt  /content/stable-diffusion-webui/models/Stable-diffusion/
+ !mkdir -p /content/stable-diffusion-webui/models/Lora/
+ !cp /content/drive/MyDrive/StableDiffision/AikoTakamori/AikoTakamoriV1.safetensors /content/stable-diffusion-webui/models/Lora/

LoRAを使う

AUTOMATIC1111を再起動する。
Generateの下の花札ボタンを押すと、Loraを選べるようになるので、タブを選択。表示されているAikoTakamoriV1をクリックすると、プロンプトに<lora:AikoTakamoriV1:1>が入力される。最後の:1>が強度で、ここを:0.8>などにすることでLoRAの影響力をコントロールできる。

image.png

出力

後は通常通り、「Generate」ボタンをクリックで生成できる。
出力してみた結果とプロンプトを書いておく。

00015-74607907251615536.png

項目
プロンプト <lora:AikoTakamoriV1:0.8>, 1girl, single hair bun, brown hair, Long side locks, long bangs, black eyes, flat chest, soft expression smile, white background, simple background, blank background, simple flat background, green frills cardigan
ネガティブプロンプト nsfw, lowers, bad anatomy, bad hands, text error, bad hands, missing fingers, extra digits, fewer digits, cropped, worst quality, low quality, standard quality, signature, watermark, username, blurry, jpeg artifacts, Humpbacked , more than 2 thighs, The background is incoherent, disappearing arms, extra legs, mutation, {{bare shoulders}}, duplicate, cloned face, artifacts
Sampling method Euler a
Sampling steps 50
Batch count 1
CFG Scale 7
Seed 74607907251615542
width 512
Height 730

参考

WindowsでPython知らないレベルの私でもStable Diffusionを動かせたメモ
画像生成AI「Stable Diffusion」をGoogle Colabで動かしたメモ
colab:AUTOMATIC1111で高速にモデルを切り替える
Google Colab で Stable Diffusion 2.0 を試す - diffusers版
Stable DiffusionをGoogle Colaboratoryで動かしてAI画像生成を試す
[Pythonプログラミング]Google Colabでstable diffusionを便利に使うテクニック
Colab版導入

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2