🖼️

画像生成 AI AnythingV4 を Google Colab で便利に使う!

2023/01/15に公開12

はじめに

昨今、画像生成 AI の進化が凄まじい。 StableDiffusion 登場からの、NovelAI などの様々なモデルの発明、そこから様々なチームが様々なモデルを発明し、どんどんと画像生成 AI の制度が向上しています。最近 Anything の最新バージョンである AnythingV4 (V4.5) がリリースされ、更に一歩画像生成の制度とバリエーションが増えました。この記事は AnythingV4Google Colab で動かし StableDiffusion WebUI で利用して、便利に画像生成を行う手順を紹介します。ベースとしては、以前 AnythingV3 を紹介した過去記事 を参照してください。

注意

AnythingV4 のモデルについては出自については AnythingV3 同様にやや怪しく、ウイルスが混入している可能性も否定できません。今回が、Google Colab 上で実行する方法を紹介するため、手元の環境にファイルを落としてくる訳ではないので、ウイルスの心配はないと思いますが、ご利用は慎重に、かつ自己責任でお願いします。

手順

Colab ノートブックの作成

Google Colab にアクセスし、新規の Colab のノートブックを作成し、「編集 → ノートブックの設定」からハードウェアアクセラレータを「GPU」に選択。その後、以下のコードセルを追加して実行し、GPU が動いているかを確認します。

# GPUの確認
!nvidia-smi

実行環境の整備

コードセルを追加し、StableDiffusion WebUI をクローンしてきて、追加で AnythingV4 のモデルをダウンロードします。コードとしては以下のようになります。Google Colab ではメモリが多く使用できないので、pruned 版を利用します。

!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
!wget https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.0-pruned.ckpt -O /content/stable-diffusion-webui/model.ckpt
!wget https://huggingface.co/andite/anything-v4.0/resolve/main/anything-v4.0.vae.pt -O /content/stable-diffusion-webui/model.vae.pt

この後に、StableDiffusion WebUI を起動します。その際に gradio が使用され、出力結果の最後の方に URL が出力されます。その URL にアクセスすると、StableDiffusion WebUI を扱うことができます。

!COMMANDLINE_ARGS="--share --gradio-debug" REQS_FILE="requirements.txt" python launch.py

実行

StableDiffusion WebUI の画面は以下のようになっています。プロンプトと呼ばれる、どのような画像を生成して欲しいかを指定する呪文を入力し、任意でネガティブプロンプトと呼ばれる、どのような画像を生成してほしくないかを指定する呪文を入力し、生成ボタンを押すととりあえず画像が生成されます。この画像 のプロンプト等をお借りして試しました。

保存したら、画像を取得することができます。細かいですが、保存した画像にはメタ情報として、どんなプロンプトで生成したか等の情報が含まれており、StableDiffusion WebUI から復元することが可能です。PNG Info タブから、先程保存した画像を選択すると、どのようなプロンプトで生成された画像かを知ることができます。そこから Send to txt2img をタップして画像生成をさらにブラッシュアップしていくことも可能です。

まとめ

AnythingV3 を紹介した時から、かなり単純な形に落とし込むことができました。UI を使って画像生成をしたり、画像を保存してプロンプトを記憶したりするなど、より集中してプロンプトを選択できる環境になったのではないかと思います。 AnythingV4 のより進化したモデルを使って、想像力を働かせて様々なイラストを作成してみてください!

Discussion

Nio/ 二オスNio/ 二オス

ありがたく使わせていただきます。これなら他のモデルの導入も書き換えるだけで簡単にできそうです。

さきさき

こちら拝見してすぐ使えました!本当にありがとうございます。

ちなみに他ので使う場合なのですが、たとえばbasil_mix.ckpt を使いたいと思った場合、該当URLが
https://huggingface.co/nuigurumi/basil_mix/tree/main
で、ckptファイルを以下に書き換えてみたのですが(vaeのファイルが見当たらず、そちらは入れませんでした)うまく使えませんでした…。

実行環境の整備

!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
!wget https://huggingface.co/nuigurumi/basil_mix/blob/main/basil mix.ckpt -O /content/stable-diffusion-webui/model.ckpt

これは何が悪いのでしょうか…。
大変申し訳ありませんが、お教え頂ければ幸いです…!

うるしうるし

確認してみましたが、モデルの読み込み時にエラーになりますね。https://huggingface.co/nuigurumi/basil_mix/resolve/main/basil%20mix.ckpt からモデルをロードして試してみましたがダメでした。

Calculating sha256 for /content/stable-diffusion-webui/model.ckpt: bbf07e3a1c3482c138d096f7dcdb4581a2aa573b74a68ba0906c7b657942f1c2
Loading weights [bbf07e3a1c] from /content/stable-diffusion-webui/model.ckpt
^C

となって終了します。Google Colab では、無料範囲内でやろうとすると、RAM の制約があって、大きなモデルを扱えないという問題があります。ハードウェア的な問題なので、解決するのは難しいです。 Google Colab の有料プランに入って、もっと大きな RAM を割り当ててもらうか、手元に良い GPU
があれば、それを使うしかなさそうです。

さきさき

こちら、そうなのですね…! 一応有料(proです)にはしているのですが…。
そのため、何か自分の書き方が間違っているとかそういう問題なのかな、と思っていたのですが…。
何にせよ、方向性(書き方)としては間違ってなかった、ということでしょうか。
いずれにせよ試していただき本当にありがとうございました。

うるしうるし

Pro 版に入ってるんですね、確かにもう少し RAM 容量の高い環境になっているはずだと思います。
エラーのログとかがあればもう少し何か分かるかもしれませんが。。。
あと、明記はしませんでしたが、モデル (ckpt ファイル) の URL は間違っていたので、前回のコメント でその URL を明記しています。 vae はオプションなので、使っても使わなくてもいいです。

さきさき

すみません。うまく行かなかったようです…!
このようなエラーメッセージでした。

Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0]
Commit hash: 6cff4401824299a983c8e13424018efc347b4a2b
Installing gfpgan
Installing clip
Installing open_clip
Cloning Stable Diffusion into repositories/stable-diffusion-stability-ai...
Cloning Taming Transformers into repositories/taming-transformers...
Cloning K-diffusion into repositories/k-diffusion...
Cloning CodeFormer into repositories/CodeFormer...
Cloning BLIP into repositories/BLIP...
Installing requirements for CodeFormer
Installing requirements for Web UI
Launching Web UI with arguments: --share --gradio-debug
No module 'xformers'. Proceeding without it.
No checkpoints found. When searching for checkpoints, looked at:

  • file /content/stable-diffusion-webui/stable-diffusion-webui/model.ckpt
  • directory /content/stable-diffusion-webui/stable-diffusion-webui/models/Stable-diffusion
    Can't run without a checkpoint. Find and place a .ckpt file into any of those locations. The program will exit.
さきさき

No module 'xformers'.
このあたりがポイントそうですが…。自分でも調べてみます。
大変お手数おかけしました…!

さきさき

あああー!行けました!
ランタイムを再起動して~
を選択しましたら実行できました。大変お世話かけました。
そして本当にありがとうございました!

ニックニック

おかげさまでAnythingV4を無事に起動出来ました!
一つ質問なんですが....同じ方法でV4.5も起動出来ますでしょうか?

EzomodasEzomodas

お疲れ様です。素晴らしい記事ありがとうございます。
少し応用的な質問なのですが、「EasyNegative」といったembeddingsフォルダにいれるTextual Inversionを利用する事は可能なのでしょうか?
以下のように指定した所、どうにもフォルダには入っているのですが認識されていないようで…お知恵を頂ければ幸いです。
また同様に日本語化を指定しても認識されていません…。

!wget https://huggingface.co/datasets/Nerfgun3/bad_prompt/resolve/main/bad_prompt_version2.pt -O /content/stable-diffusion-webui/embeddings/bad_prompt_version2.pt
!wget https://huggingface.co/datasets/gsdf/EasyNegative/resolve/main/EasyNegative.safetensors -O /content/stable-diffusion-webui/embeddings/EasyNegative.safetensors
!wget https://github.com/Katsuyuki-Karasawa/stable-diffusion-webui-localization-ja_JP -O /content/stable-diffusion-webui/extensions

はざまるはざまる

こんにちは、2か月前の記事へのコメントとなり申し訳ありません。
こちらの記事の通りにAnythingV4を先日まで利用できていたのですが、先ほど確認したところ
出力を押しても何も起こらず、またエラーメッセージも一切表示されませんでした。
これは何が原因なのでしょうか…?