Stable-Diffusionの環境構築。まずはここからStable Diffusion Web UIの環境構築(Docker編)

本記事ではDockerを使ったStable Diffusion Web UIのインストールについて解説します。

こちらはDockerを使ったStable Diffusion Web UIの記事となっています。普通にStable Diffusion Web UIをインストールしたいのであれば次の記事を参考にしてください。

Stable Diffusion Web UIって何?どういうメリットがあるのという人は以下の記事を参考にしてみてください。

事前準備

Stable Diffusion Web UIを稼働させる前に、いくつかの事前準備を行う必要があります。まずは、必要なソフトウェアのインストールから始めましょう。

システム要件

Stable Diffusion Web UIを正常に動作させるためには、次のシステム要件を満たす必要があります:

  • GPU: VRAMが6GB以上のGPUが必要です。AMDのGPUやMacのM1チップは現在のところサポートされていません。
  • メモリ: 16GB以上が推奨です。
  • ストレージ: 約20GBのストレージスペースが必要です。これは、必要なモデルやファイルをダウンロードするためのスペースです。ただし、もっと多様な機能であったり、生成を楽しむには1TBのSSDを搭載しているPCを用意することをおすすめします。
  • OS: Windows 8, 10, 11、macOS、Linuxがサポートされています。

これらの要件を満たしていることを確認したら、次のステップに進みましょう。もし、これらの要件を満たすPCを持っておらず、試しにStable Diffusionを利用したい場合は、Google Colaboratoryを利用することをおすすめします。

DockerとDocker Composeのインストール

Stable Diffusion Web UIの環境構築には、DockerとDocker Composeで構築することをおすすめします。Dockerは、アプリケーションとその依存関係を一緒にパッケージ化するためのオープンソースのプラットフォームで、これによりアプリケーションはどの環境でも一貫して動作します。Docker Composeは、複数のDockerコンテナを一緒に管理し、協調して動作させるためのツールです。

これらを使用するメリットは次のとおりです:

  • リカバリーが可能: 環境が何らかの理由で壊れた場合でも、Dockerイメージを再度ビルドすることで環境を復元することが可能です。
  • バージョン管理: Dockerを使用すると、各バージョンの環境をDockerイメージとして保存できます。これにより、新しいバージョンのStable Diffusion Web UIを導入するときでも、過去のバージョンの環境を保持したまま利用することができます。
  • 環境の再現性: Dockerを使用すると、同じDockerfileから常に同じ環境を作成できます。これにより、固有の環境に関連するトラブルを避けることが可能です。
  • コマンドライン引数の管理: Docker単体だとGPUを利用するためのコマンドライン引数などが必要で面倒ですが、Docker Composeの設定ファイルがこれを解決するため、Docker Composeを併用することをおすすめします。

DockerとDocker Composeのインストール手順は、Docker Composeの公式ドキュメントを参照してください。

Docker Composeのインストール

Stable Diffusion Web UI Dockerのダウンロード

次に、Stable Diffusion Web UIのリポジトリをクローンします。これにはgit cloneコマンドを使用します。Gitは、ソフトウェア開発でソースコードのバージョン管理を行うためのシステムです。git cloneコマンドは、リモートのGitリポジトリのコピーをローカルに作成します。

もしgitが入っていない場合は以下の公式ドキュメントよりインストールを済ませてください

Git- Gitのインストール

まず、ターミナルを開き、リポジトリをクローンしたいディレクトリに移動します。次に、以下のコマンドを実行します:

git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git

このコマンドを実行すると、現在のディレクトリにstable-diffusion-webui-dockerという名前の新しいディレクトリが作成され、そのディレクトリにリポジトリの内容がコピーされます。

この手順は、Stable Diffusion Web UIのを取得するために必要です。リポジトリは頻繁に更新されるため、最新の状態へアップデートするには以下のコマンドラインで実行できます。(今回は実行不要)

cd <stable-diffusion-webui-dockerのパス>
git pull

モデルとファイルのダウンロード

リポジトリをクローンしたら、次に必要なモデルとファイルをダウンロードします。

まず、stable-diffusion-webui-dockerのパスへ移動します。

cd stable-diffusion-webui-docker

モデルをダウンロードする設定がstable-diffusion-webui-dockerのdocker-compose.ymlで定義されています。docker compose --profile download up --buildコマンドを使用します。以下のコマンドを実行します:

docker compose --profile download up --build

このコマンドは、必要なすべてのモデルとファイルをダウンロードし、そのモデルの完全性を検証します。データのダウンロードは一度だけ行えば良く、その後のUIの選択に関係なく同じデータを使用します。ダウンロードするデータの量は約12GBです。

この手順は、Stable Diffusion Web UIを正常に動作させるために必要なすべてのリソースを取得するために必要です。これにより、Stable Diffusionモデルが正確な結果を生成できるようになります。

UIの起動

モデルとファイルのダウンロードが完了したら、次に選んだUIを起動します。これには、docker compose --profile [ui] up --buildコマンドを使用します。ここで、[ui]は実際には選択したUI(invokeautoauto-cpucomfy)に置き換えます。

本ブログではautoを推奨しております。autoは先ほど紹介したStable Diffusion WebUI Automaticのことです。

autoのUIを起動する場合、次のようにコマンドを実行します:

docker compose --profile auto up --build

このコマンドを実行すると、アプリケーションが起動し、http://localhost:7860/ からアクセスすることができます。

初回起動時は、必要なモデルをダウンロードするため、起動に15分から1時間程度かかる場合があります。しかし、これらのモデルはデータフォルダにキャッシュされるため、次回からの起動は大幅に速くなります(約20秒程度)。

UIを変更する場合は、同じコマンドを新しいUI名で再度実行するだけです。これにより、自分のニーズに最適なUIを試すことができます。

動作確認

http://localhost:7860/

へお好きなブラウザからアクセスしてください。すると以下のようなUIが表示されます。私の環境だとプラグインが導入されているため一部画面に相違があります。

今回はお試して次のような呪文(プロンプト)を入力してみます。

Photo of a cute Japanese idol.

環境構築に成功していれば、以下のような実行結果が得られます。画像は乱数によって変わります。何度が実行してみて、そこそこの品質の画像が生成される場合は、画像が異なっていても大丈夫です。

以上で動作確認が完了しました。ちなみに、今回、紹介した動作確認では、stable diffusionのデフォルトのモデルが利用されています。冒頭で紹介したようなアニメイラストやグラビア画像が生成したい場合は、それぞれ適した生成モデルがあるのでそれを使用することをおすすめします。

公開されている人気のStable Diffusionモデルの探し方、おすすめのStable Diffusionモデル、Stable Diffusion Web UIへの追加方法については次の記事で行うので好ご期待!

FAQ

どのモデルを使うべきか?

Stable Diffusionのモデルについては以下のモデルを検証しているので、参考にしてください。ちなみに、今回の記事で利用したモデルはBeautiful Asian Realistic v5です。

コメント