2022.11.26追記
この記事の代わりに、よりシンプルでエラーも出ないcolabノートに対応した下の記事を推奨
programmingforever.hatenablog.com
2022.10.3追記
AUTOMATIC1111がVer1.2になり手順が変更されたため内容を修正。変更点としてweb UI(生成画面)が立ち上がった時にユーザー名とパスワードを聞かれるので、オリジナルコードのままならユーザー名:me、パスワード:qwerty で使える。
Stable Diffusion web UI (AUTOMATIC1111)とは
Stable Diffusion web UIは、MidJourneyやDreamStudioの様にweb上のユーザーインターフェースで画像作成や加工が操作できるアプリ。自分だけがアクセス出来るサーバーをローカルに立ち上げて利用する。
AUTOMATIC1111はweb UIの一種。Stable Diffusionの人気フォークであり、Google ColabやWindowsに導入できる。
想定する読者
- 初心者
- AUTOMATIC1111 の機能を試したい
- Google colabで使いたい
- インストールがうまく行かず悩んでいる
次の記事紹介
起動の高速化やAUTOMATIC1111でWaifu Diffusion、DreamBoostで作ったオリジナルモデルなどを使う方法をまとめている。今回の内容をクリアされた方向けにまとめている。
programmingforever.hatenablog.com
AUTOMATIC1111 の豊富な機能一覧
色々と便利に使える機能が揃っている。
- オリジナルの txt2img および img2img モードを用意
- ワンクリックでスクリプトをインストールして実行
- Outpainting:画像の外部拡張機能
- Inpainting:画像内の加工機能
- Prompt matrix:プロンプトの差がわかる比較画像生成機能
- Stable Diffusion upscale:RealESRGANを適用する「txt2imghd」機能
- Attention:プロンプトの強調部を()、抑制部[]で指定できる
- Loopback:「img2img」の繰り返しを自動実行する機能
- X/Y plot:パラメーター数値変更による比較画像生成機能
- Textual Inversion:自分の学習データを基にする画像生成機能
- エクストラタブ:
- GFPGAN、顔の生成を安定させるニューラルネットワーク
- CodeFormer、GFPGANの代替としての顔復元ツール
- RealESRGAN、ニューラルネットワークアップスケーラ
- ESRGAN、多くのサードパーティモデルを持つニューラルネットワーク
- SwinIR、ニューラルネットワークアップスケーラ
- LDSR、潜在拡散超解像アップスケーリング
- アスペクト比オプションのサイズ変更
- サンプリング方法の選択
- いつでも処理を中断
- 4GBビデオカードのサポート
- バッチのシードの修正
- プロンプトの長さ検証
- PNG にテキストとして追加された生成パラメーター
- 既存の図の生成パラメーターを表示するためのタブ
- 設定ページ:NSFWフィルターのON/OFFなど多彩な設定項目
- UI からのカスタム コード実行
- UI 要素のマウスオーバーヒント
- テキスト設定を介してUI要素のデフォルト/ミックス/最大/ステップ値を変更可能
- ランダムアーティストボタン
- タイリングサポート:テクスチャのようにタイル化できる画像を作成
- プログレスバーとライブ画像生成プレビュー
- Negative prompt
- Styles
- Variations
- Seed resizing
- CLIP interrogator
- Prompt Editing
- Batch Processing
- Img2img Alternative
- Highres Fix
- LDSR Upscaling
優れたパフォーマンス
インストール時間は10分もかからない程度で済み、画像生成も2回目以降は512x512なら5秒程度で生成する速さで申し分ない(20STEP、colab無料版)。速さは力であり、無料で美しい絵を連続生成していると実に楽しい。
インストールのエラー回避
以下、Google colabにAUTOMATIC1111をインストール方法を解説する。
しかしながらGitHub上のコードは日々変化しているし、元々インストール中にエラーが多発するなど開発者用バージョンに近いレベルで提供されているので落とし穴も多い。もちろん慣れた方や環境によってはすんなりインストールできるだろうし、あるいは相当な試行錯誤を繰り返す可能性もある
そこでインストール時に発生するエラーの対応を記載したが、あくまで参考程度としてほしい。※最後に不具合対策をまとめて記載する
※2022/10/4時点でインストールできるAUTOMATIC1111のバージョンはStableDiffusionUI-Voldemort V1.2.ipynb
Google colabを触ったことがない方
初心者向けにStable DiffusionをGoogle colabで動かす手順を以前に記載した。30分程度で体験出来ると思うので、Google colabが初めての方は慣れる意味で先にこちらの実践をお勧めする。経験のある方はスキップ。
programmingforever.hatenablog.com
AUTOMATIC1111のcolabへの導入手順
ではインストール手順を順に説明する。
現在のバージョンはV1.2。StableDiffusionUI-Voldemort V1.2.ipynb
①web UIのサイトにアクセス
Readme.mdの中の「Installation and Running」の中に、「 Colab, maintained by Akaibu」、があるのでクリックすると Google colabのノートブックが現れる。
②導入ステップ
- 編集ダブで「ノートブックの設定」を選び、GPUにする(デフォルトでGPUになっているが念の為)
Hugging Faceのアクセストークンの入力欄が中程の右側にあるのでコピペする
1番上のセルの左にある白い矢印ボタンをクリック。Googleが作ったものではない警告が出るがそのまま了承
- ここでいきなりエラーが出るが、無視して問題ない
- 2番のセルを実行
3番のセルを実行する前に、モデルの承認と、Hugging Faceのアクセストークン入力(画面右側)を済ませる。
モデルの承認に関しては、「Normal 1.4 model」のコードを確認する。
#@title Normal 1.4 model # get a token from https://huggingface.co/settings/tokens user_token = "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" #@param {type:"string"} user_header = f"\"Authorization: Bearer {user_token}\"" !wget --header={user_header} https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt -O /content/stable-diffusion-webui/model.ckpt
コードを確認すると、ここで使用するモデルは"stable-diffusion-v-1-4-original"となっており、"stable-diffusion-v-1-4"とは別モデルなので、記載されているURLのモデル名までをコピペしてHugging FaceサイトにアクセスしてAccept Repositoryボタンをクリックして承認を済ませる(承認済みの場合は承認ボタンが表示されない)。あるいは使用するモデルを変更する。
※例えば今回の場合の承認を行うURL先は、`https://huggingface.co/CompVis/stable-diffusion-v-1-4-original'
- 上記の対応を行なった上でセルを実行
- 続いて最後のセルまで順番に実行する
すると出力画面に`https://*****.gradio.app'のURLが現れるのでクリックするとweb UIが起動する。
Ver.1.2から新しくweb UI起動時にユーザー名とパスワードを入力するようになったので(ページ公開を想定したものと思われる)、最後のセルの中で記載されている通り、ユーザー名:me、パスワード:qwerty を入力すると使える。このユーザー名とパスワードは自由に編集できる。
③web UI画面
起動したweb UIの画面を示す。
ここではプロンプト指定で猫と犬の絵を出した。
※異様に動作が遅い場合は不具合なので後述の解決ポイントを参照
不具合時の解決ポイントのまとめ
以下にチェックポイントを列記する。一度コツをつかんだら難なくかわせると思う。
- エラーに関してはcolabの無料版とcolab proの差は無い。proにしたら治るという訳ではない
- Google colabのタブが複数存在していたら不要分を消す
- Hugging Faceのアクセストークンがなぜか使えないこともあるので作り直してコピペする
- 使用するモデルを確認して許諾を得る(特別なモデルを使用している場合がある)
- エラーが発生したら一からやり直す。 やり直しはクラウド側の「ランタイムを接続解除して再起動」を最初に行った上で一からセルを実行する。
- それでもおかしい場合はPCのブラウザの再起動を行なった上で最初からやり直す
起動したweb UIが異常に遅い時
- Night Eyeの様なダークモードに画面書き換えを行うブラウザの拡張機能をOFFにする
- ブラウザやPCの再起動などからやり直す