Python
WindowsPCで共有できるStable Diffusion環境を構築
ヤス
公開日:2023/10/31
はじめに
少し前に話題になった「Stable Diffusion」という無料で利用できる画像生成AIが気になっていたので、
WindowsPCに導入できる「Stable Diffusion web ui」を使ってみました。
合わせて社内の別の人でも利用できるようにポート開放もします。
動作環境:Windows10 + Nvidiaのグラフィックボード
必要なソフトのインストール
「Stable Diffusion web ui」をWindowsPCで動作させるためには、「Python」と「Git」が必要なため先にこの2つをインストールします。
Pythonのインストール
「Stable Diffusion Web UI」で推奨されているPythonのバージョンがあり、そのバージョンが「3.10.6」になっています。
3.10.6のダウンロードサイトから「Windows installer (64-bit)」をダウンロードしてインストールします。
インストールするときには、「Add python 3.10 to PATH」にチェックをいれてインストールが必要になります。
(このチェックをいれないと python のパスが登録されないため、「Stable Diffusion web ui」時にコマンドが失敗します)
Gitのインストール
Gitは特に推奨バージョンはないので、ダウンロードサイトからWindowsの最新版をインストールすればOKです。
デフォルトの設定のままインストールすれば完了です。
Stable Diffusion web uiのファイルをGitから取得
Cドライブの直下にインストールのフォルダ「StableDiffusion」を作成して、コマンドプロンプトかPowerShellで下記のコマンドを実行してGit経由でファイル取得します。
1 2 |
cd C:\StableDiffusion git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git |
Stable Diffusion web uiのインストール
Gitから取得した「C:\StableDiffusion\stable-diffusion-webui\webui.bat」を実行してインストール作業を開始します。
(通常は起動用のbatですが、初回実行時は動作環境構築用のダウンロードとインストールが実行されます。)
・インストール中に発生したエラー 01
1 |
AssertionError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this |
エラーを読むと、COMMANDLINE_ARGSの変数に「–skip-torch-cuda-test」を追加しなさいと書かれていたので、
「C:\StableDiffusion\stable-diffusion-webui\webui.bat」に「–skip-torch-cuda-test」を追加しました。
(「COMMANDLINE_ARGS」が設定されていなかったので「ERROR_REPORTING」の下に設定を追加)
1 2 3 |
set ERROR_REPORTING=FALSE set COMMANDLINE_ARGS=--skip-torch-cuda-test |
・インストール中に発生したエラー 02
上記のエラー解決後に再度インストール実行すると、次は下記のエラーが発生しました。
1 |
OSError: [WinError 126] Error loading "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\torch\lib\c10.dll" or one of its dependencies. |
C++のランタイムライブラリがインストールされていないことが原因のため、
microsoftのサポートページから「vc_redist.x64.exe」をインストールします。
インストール完了
インストールが完了すると「http://127.0.0.1:7860/」にアクセスすると、「Stable Diffusion web ui」が表示されます。
Stable Diffusion web uiを別PC表示からアクセス可能にする
このままではインストールしてPCからしか利用できないので、他のPCから利用できるようにします。
COMMANDLINE_ARGS に –listen を追加
webui.batのCOMMANDLINE_ARGS に「–listen」のオプションを追加することで、別PCからアクセス可能な状態になります。
(アクセスURLが「http://0.0.0.0:7860/」になります)
1 |
set COMMANDLINE_ARGS=--listen --skip-torch-cuda-test |
Stable Diffusion用のポート(7860)を開放する
Windowsのファイアウォール設定をする必要があります。
「設定>ネットワークとインターネット>Windows ファイアウォール>詳細設定」を開きます。
ファイアウォールの画面で[受信の規則]>[新しい規則…]から「規則の種類:ポート」を選択して7860ポートを指定して接続を許可してください。
最後に
インストール自体は簡単だったので、すぐに試すことが出来ました。
ただ、PCの性能(グラフィックボードの性能)が画像生成にかかる時間に直結している印象でした。
(スペックの低めなPCにインストールしたので、画像の生成に2分くらいかかりました。)
また、簡単なワードだと綺麗な画像を生成するのが難しかったので、使いこなすのにはある程度のノウハウが必要に思いました。