Stable Diffusion web UIは、ブラウザを使ってStable Diffusionを動かすことができるツールです。
今回は、Google Colab上でStable Diffusion web UIを動かす方法を紹介します。
Google Colaboratoryについて
Google Colaboratory(略:Colab)は、Pythonをかんたんに実行できるサービスです。
もちろん、Colabで画像生成AIを動かすこともできます。
AIによる画像の生成には、それなりのスペックのPCが必要になります。
ハイスペックのPCを持っているのでしたら、ご自身のPCを使うのもありだとは思うのですが、なかなかそのようなPCを持つことはむずかしいです。
そこで、ひとつの手として考えられるのが、Colabを使うというものです。
Colabでは、高性能なGPUを、無料でも制限内で利用することができます。
さらに有料プランに申し込むことで、よりよい環境で作業することができるようになります。
また、ColabでStable Diffusion web UIを動かした場合、ずっと接続した状態にしていると、制限がかかってしまったり、有料プランに申し込んだ場合は、コンピューティング ユニットの残量が減ってしまうので、注意が必要です。
Stable Diffusion web UIについて
GitHub(AUTOMATIC1111/stable-diffusion-webui): https://github.com/AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UIを使うと、GUIによる分かりやすい操作でStable Diffusionを動かすことができます。
ブラウザで操作できるので、対応していればローカルでも動作させることができます。
以下は、Stable Diffusion web UIを実際に使っているところの画面です。

ただ、私はM1 Macで、ローカルでの動作を確認しましたが、ハイクオリティの画像を生成しようとすると、かなりの時間がかかりました。
何度も試して気に入る画像を表示させるAI画像生成では、これは大きな問題です。
その解決方法として、Stable Diffusion web UIをColabを使って動かす方法が考えられます。
Colabでは、高性能なGPUを使って、Stable Diffusion web UIを動かすことができます。
そのため、ハイクオリティな画像も素早く生成できます。
Google ColabでStable Diffusion web UIを動かす
では、ColabでStable Diffusion web UIを動かしてみましょう。
様々な方法があるようなのですが、ここではふたつ紹介します。
「AUTOMATIC1111/stable-diffusion-webui」を使う(方法その1)
つづいて、「AUTOMATIC1111/stable-diffusion-webui(https://github.com/AUTOMATIC1111/stable-diffusion-webui)」を、Colabで使う方法です。
まずはGoogleにログインして、Colabのページ(https://colab.research.google.com/?hl=ja)に移動しましょう。
「ノートブックを新規作成」をクリックして、新しいノートブックを作成します。

「編集」から「ノートブックの設定」をクリックします。

「ハードウェア アクセラレータ」を「GPU」に変更し、「保存」をクリックします。

さらに、次のコマンドをノートにコピペします。
モデルは、ご自身が使いたいものに書きかえてください。
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd /content/stable-diffusion-webui
!wget https://huggingface.co/nuigurumi/basil_mix/resolve/main/Basil_mix_fixed.safetensors -O /content/stable-diffusion-webui/models/Stable-diffusion/Basil_mix_fixed.safetensors
!wget https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -O /content/stable-diffusion-webui/models/VAE/vae-ft-mse-840000-ema-pruned.safetensors
!python launch.py --share --xformers --enable-insecure-extension-access
(※2023/06/27 コードを更新しました)
貼り付けると、次のようになります。

上記のコマンドでは、例としてbasil mixというモデルをダウンロードしています。
では実行しましょう。下の画像の場所をクリックします。

しばらく待って、Running on public URL: xxxx.gradio.liveというリンクをクリックしましょう。
もっと詳しい方法は下の記事をご覧ください。
こちらの記事では、Google Colabで「AUTOMATIC1111/stable-diffusion-webui」を動かし、basil mixを使う方法を詳しく紹介しています。
「camenduru/stable-diffusion-webui-colab」を使う(方法その2)
まず、camenduruさんの、stable-diffusion-webui-colab(https://github.com/camenduru/stable-diffusion-webui-colab)を使わせていただき、ColabでStable Diffusion web UIを動かしてみようと思います。
まず、あらかじめGoogleアカウントの取得、ログインを済ませておいてください。
上記stable-diffusion-webui-colabのページへ移動し、下にスクロールします。
すると、README.mdの項目に、さまざまなモデルのページが一覧になっています。

好きなモデルを探し「Open in Colab」をクリックします。
たとえば、Waifu Diffusion v1.4ならば、以下のようになります。

「ドライブにコピー」をクリックして、ご自身のドライブにコピーしておきましょう。

コピーが終わったら、実行しましょう。

しばらく待つと、「Running on public URL:xxxxxxx.gradio.live」といったリンクが表示されますので、そこにジャンプします。
すると、次のようなページが開きますので、Stable Diffusion checkpointで、使いたいものを選べるかどうかをご確認ください。

すると、Stable Diffusion web UIで、Waifu Diffusionのモデルを使って、画像生成ができるようになります。

まとめ
今回は、Google ColabでStable Diffusion web UIを動かす方法を紹介しました。
ローカルで画像生成AIを試そうとすると、重くてうまく動かない、ということはよくあると思います。
しかし、Colabを使うことで、とてもスムーズに画像生成AIを試すことができるようになります。
また、Colabでは、ずっと接続した状態にしていると、制限がかかってしまったり、残量が減ってしまったりするので、ご注意ください。