Stable Diffusionのインストール方法をメモ。
アイデアのラフスケッチをAIで清書させて、イラストの作成時間を短縮できるか実験してみたいです。
(参考書)「Stable Diffusion AI画像生成ガイドブック」
本書のサポート情報
本書の正誤表
- Windowsへのインストール手順
- Stable Diffusion/Web UIのダウンロード
- 学習データなどのダウンロード
- ファイルの内容の書き換え
- Stable Diffusion/Web UIのアップデート
- Stable Diffusion/Web UIのインストール
- Stable Diffusion/Web UIの動作テスト
Windowsへのインストール手順
(p.58)
- Stable Diffusion/Web UIのダウンロード
- 学習データなどのダウンロード
- ファイルの内容の書き換え
- Stable Diffusion/Web UIのアップデート
- Stable Diffusion/Web UIのインストール
【追記 ここから】(2023年5月31日)
昨日、本書第2章の57ページから84ページに記載されているパソコンへのインストール方法を参考にして、このブログ記事にメモした手順でStable Diffusion/Web UIをインストールしてみましたが、現時点ではもっと簡単な方法でインストールできるようでした。
著者のサポートページで簡単なインストール方法が紹介されていました。
要するに「学習データなどのダウンロード」や「ファイルの内容の書き換え」をしなくても、デフォルトのインストーラーによるインストール作業だけでStable Diffusion/Web UIを動作させるところまでもっていける、とのこと。
「先に言ってよ~😭😭😭」と思いましたが、そこは「先にサポートページを読め!」ってことですね。
(サポートページの情報はPush配信で勝手に飛んでくるわけじゃないので、自分から取りに行くしかない😂)
【追記 ここまで】
Stable Diffusion/Web UIのダウンロード
Releases · AUTOMATIC1111/stable-diffusion-webui · GitHub
2023年5月30日時点では、v1.3.0が最新でした。
しかし、今回はこれではなく別のファイルをダウンロードします。
「v1.0.0-pre」のAssetsから「sd.webui.zip」をダウンロードします。
zipファイルから展開した「sd.webui」フォルダを自分の作業用フォルダ内へ移動させます。
パスを短くするために、Cドライブの直下などが良いようです。
学習データなどのダウンロード
Stable Diffusionの公式学習モデルをダウンロードします。
stabilityai/stable-diffusion-2-1 at main (huggingface.co)
「v2-1_768-ema-pruned.safetensors」をダウンロードします。
ダウンロードしたファイルを
C:\sd.webui\webui\models\Stable-diffusion
にコピーします。
次に「VAE」という追加の学習データをダウンロードします。
stabilityai/sd-vae-ft-mse-original at main (huggingface.co)
「vae-ft-mse-840000-ema-pruned.ckpt」をダウンロードします。
ダウンロードしたファイルを
C:\sd.webui\webui\models\Stable-diffusion
にコピーします。
ファイルの内容の書き換え
「C:\sd.webui\webui」にある「v2-inference-v.yaml」を
C:\sd.webui\webui\models\Stable-diffusion
にコピーします。
「C:\sd.webui\webui\models\Stable-diffusion」にある
「v2-inference-v.yaml」と
「vae-ft-mse-840000-ema-pruned.ckpt」の2つのファイル名を
「v2-1_768-ema-pruned.safetensors」に合わせてリネームします。
↓
「v2-inference-v.yaml」を「v2-1_768-ema-pruned.yaml」にリネームします。
「vae-ft-mse-840000-ema-pruned.ckpt」を「v2-1_768-ema-pruned.vae.pt」にリネームします。
「C:\sd.webui\webui」にある「webui-user.bat」を以下の内容に書き換えます。
(赤文字の部分を追記します。)
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --autolaunchcall webui.bat
編集後、ファイルを保存して閉じます。
Stable Diffusion/Web UIのアップデート
「C:\sd.webui」にある「update.bat」をダブルクリックして実行します。
「続行するには何かキーを押してください」という表示が出たら、何かキーを押します。
これで使用するファイル群のアップデートができるようです。
Stable Diffusion/Web UIのインストール
「C:\sd.webui」にある「run.bat」をダブルクリックして実行します。
すると、ここで予期せぬエラーが出ました。
RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
というエラーメッセージが出ました。
GPUはWindows11 HomeでRTX3060(12GB)を使っています。
このエラーメッセージについてGoogle検索してみます。
・AssertionError:Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable thisと出る
解決法
webui-user.batを右クリックで編集から開く。
set COMMANDLINE_ARGS= の後ろに--skip-torch-cuda-testと入力
「C:\sd.webui\webui」にある「webui-user.bat」を以下の内容に書き換えます。
(青文字の部分を追記します。)
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --autolaunch --skip-torch-cuda-testcall webui.bat
編集後、ファイルを保存して閉じます。
再び「C:\sd.webui」にある「run.bat」をダブルクリックして実行します。
今度は違うエラーメッセージが出てきました。
OSError: [WinError 126] 指定されたモジュールが見つかりません。 Error loading "C:\sd.webui\system\python\lib\site-packages\torch\lib\c10.dll" or one of its dependencies.
OSはWindows11 Homeを使っています。
PyTorchで使う「c10.dll」というdllファイルが見つからない、または依存しているファイルが見つからない、というエラーメッセージでした。
「C:\sd.webui\system\python\lib\site-packages\torch\lib」フォルダの中を見てみると「c10.dll」というdllファイル自体は存在していました。
となると、c10.dllが依存している他のファイルが存在していないというエラーのようですね。
…ということでエラーメッセージを検索してみたら、dllファイルをコンパイルしたであろうVisual Studioのランタイムをインストールしたら解決するっぽかったです。
Have you installed VS2019 redist?
ここからMicrosoft Visual C++ 再頒布可能パッケージ「X64 https://aka.ms/vs/17/release/vc_redist.x64.exe」をダウンロードして、インストールします。
VS2015から2022までのランタイムを入れる最新のパッケージを利用しました。
再び「C:\sd.webui」にある「run.bat」をダブルクリックして実行します。
すると、Stable Diffusion/Web UIの画面が起動しました。
これで上記の「c10.dll」が依存しているファイルのエラーが解消されました。
Stable Diffusionをインストールしているパソコンは、OSがWindows11 HomeなのですがOSのバージョンによってデフォルトで含まれている(.NETなどの)ランタイム環境が違っており、OSのバージョン違いによる動作エラーはよくあることです。
Stable Diffusion/Web UIの動作テスト
「txt2img」に何か適当にプロンプトを入れてみます。
「sailing ship」(帆船)と入れたら、以下のような画像が生成されました。
他にも帆船を描かせてみました。
とりあえず、ローカルPCでStable Diffusionが動作することが確認できました。
次は、「img2img」機能で、ラフスケッチを清書するのに使えるか試してみたいと思います。