画像生成AI「Stable Diffusion」を Windows PC上で使える高機能ソフト「Stable Diffusion web UI (AUTOMATIC1111版)」を導入した際、インストール用のバッチ(webui.bat, webui-user.bat) を起動してもエラーでインストールが始まらないトラブルに遭遇したので解決方法を以下に記載します。
有志によりメニューの日本語化も行われ、無数にある複雑な設定項目もいじりやすくなりました。
※普段は NMKD Stable Diffusion GUI を画像生成に使用していますが、Stable Diffusion web UI (AUTOMATIC1111版) はインストールが少し大変な代わりに非常に高機能なようなので今回入れてみました。
NMKD Stable Diffusion GUI を既に持っている方であればこちらの web UI 版と同居可能で、かつ一部ファイルのダウンロード作業を飛ばすことができます。
NMKD版のソフトをお持ちの方向けに説明を一部追加しています。
導入方法
以下のサイトにて画像付きで詳しく手順が解説されているので、説明に従ってインストールしてみてください。
Windows上でローカルで動かせる画像AI「Stable Diffusion Web UI」の無駄のないイン…
※NMKD版を既に導入済みの方も、Python や Git のインストールは必要です。上から手順通りに実行してください。
補足
一部、上記サイトの説明と異なる箇所がありました。
(Stable Diffusion を始める前から Python も Git も元々入れていたので、サイトの説明と自分の環境が異なるのかも)
・「Pythonの動作確認」の項に従い「python -V」を実行してもバージョンは表示されず Python とのみ表示された
※この状態でも最終的にインストールはできました。
・「Gitの動作確認」の項に従い「git -v」を実行しても「unknown option: -v」と表示された
私の Git に当該コマンドは存在しませんでした。
代わりに「git --version」を実行すれば git のバージョンがきちんと表示されました。
※この状態でも最終的にインストールはできました。
・自分はCドライブ直下にダウンロードする代わりに、Gドライブの「AI」フォルダ下にダウンロードした
対処法はありますが、容量の問題がなければCドライブ直下にダウンロードすることをおすすめします
コマンドプロンプトでGドライブの「AI」フォルダ下に移動し、
を実行した結果、G:\AI\stable-diffusion-webui\ に Stable Diffusion web UI AUTOMATIC1111版 がダウンロードされました。
<ダウンロード先をCドライブ直下以外にする際の注意点>
- Cドライブ以外にすると Python 環境のパスが認識されなくなるかも (後述)
- 日本語(全角文字)を含むフォルダ名がファイルパスに含まれている場所に入れるのもだめかも
- ファイルパスに半角スペースが入っているのは…? ← 未検証。念のためフォルダ名の半角スペースは避けた
・モデルファイルは NMKD Stable Diffusion GUI で使っているものをコピーした
G:\AI\SD-GUI-1.6.0\Data\models
の中に入れていた stable-diffusion-1.4.ckpt などを
G:\AI\stable-diffusion-webui\models\Stable-diffusion
にコピーしました。
model.ckpt へのリネームは不要でした。(2022/10/30 現在)
・GFPGANの事前学習ファイルも NMKD で使っているものをコピーした
G:\AI\SD-GUI-1.6.0\Data\gfpgan
の中に入っている gfpgan.pth を
G:\AI\stable-diffusion-webui
にコピーし、「GFPGANv1.4.pth」にリネームしました。
webui.bat でインストールが始まらない
必要なファイルを入れる作業が終わったらあとは「webui.bat」を実行するだけです。
※実行時に特にエラーが発生しなければこの項は読み飛ばしてください。
しかし、私の環境では実行時に以下のメッセージが表示されインストールが始まりませんでした。
Couldn't launch python
exit code: 9009
stderr:
Python
Launch unsuccessful. Exiting.
続行するには何かキーを押してください . . .
原因
→ Python環境の存在場所を認識できず、起動できていない
恐らく Stable Diffusion web UI のフォルダをCドライブ以外に置くと Python の存在場所を認識できなくなるみたいです。
手動で Python の場所を設定してあげれば解決します。
対処法
まず、Python環境がどこにインストールされているか確認します。
コマンドプロンプトを開いてください。
(Windowsキー + R で「ファイル名を指定して実行」ウィンドウを出し、そこに「cmd」と入力してEnterを押せばコマンドプロンプトを起動できます)
次に、
と入力し、Enterを押してください。
画像赤線部「C:\Users\ユーザー名\AppData\Local\Programs\Python\Python310\python.exe」がPython実行環境のインストール先なのでこれをコピーします。
(環境によっては画像のように複数の場所にPython環境がインストールされている場合がありますが、ファイルパスに半角スペースが含まれていない方のPython環境のパスをコピーしてください)
例えば画像の2つ目のPython環境のように「 C:\Program Files (x86)」下にあると、Program と Files の間に半角スペースがあり、この半角スペースが原因でインストーラーがうまく動かない可能性があります。
パスをコピーしたら、webui-user.bat (注意:webui.batではない) を右クリックして「編集」を押してください。
set PYTHON=
という行があるので、イコールの後ろにコピーしたパスを貼り付けてください。
=の後ろには半角スペースを入れないでください。(直接パスを繋げる)
そして上書き保存して閉じ、今編集した webui-user.bat (注意:webui.batではない) をダブルクリックして実行してください。
最初に出てきたエラーコードが表示されず、「Installing torch and torchvision」などとインストール状況が表示されればOKです。
今回のエラーの対処法についての情報
参考リンク:Webui Request assistance: Exit Code 9009
インストール (続き)
ちなみに私の環境ではインストールに約9分かかりました。
「Installing torch and torchvision」のところで2~3分固まりますが、気にせず待ち続ければOKです。
「Running on local URL: http://127.0.0.1:7860」の表示が出たらインストール完了です。
あとはブラウザで http://127.0.0.1:7860 にアクセスすれば Stable Diffusion web UI を起動できます。
ブラウザでこのようなページに移動できればインストールできています。
Stable Diffusion web UI の日本語化
Settings タブをクリックします。
一番右の列の少し下の方にある「User interface」の項で、下の方にある「Localization (requires restart)」のリストで、「ja_JP」を選択します。
※「Localization (requires restart)」が見つけにくい場合は Ctrl+F でページ内検索ボックスを出して「Localization」で検索。
変更後、設定画面一番上の「Apply settings」を忘れずに押して設定を保存します。
一度、コマンドプロンプト(先ほどのインストール作業時に開かれた黒背景に白文字の画面)を閉じます。
再び、「webui-user.bat」を起動します。(起動には毎回十数秒かかります)
「Running on local URL: http://127.0.0.1:7860」が表示されたら起動完了です。
http://127.0.0.1:7860/ に再びアクセスするとページが日本語化されています。
日本語化してくださった方
Kris Walton (yuuki76) さんが日本語化用のローカリゼーションファイルを作成してくださいました。
公式にプルリクまで出してくださったおかげで、インストール時に初めから日本語化ファイルも一緒に付属しており単に Settings で選択するだけで日本語化できます。
本当にありがたいです。
次回以降のソフト起動方法・終了方法
普段ソフトを使う際の起動・終了方法です。
起動方法
- webui-user.bat を起動し「Running on local URL: http://127.0.0.1:7860」が表示されるまで待つ
- http://127.0.0.1:7860/ にアクセス
webui-user.bat を起動せずに URL にアクセスしても使えないのでご注意ください。
webui-user.bat を起動したときに表示されるコマンドプロンプト (黒背景に白文字の画面) を閉じるとソフトが終了してしまうので、ソフト使用中はコマンドプロンプトを閉じないでください。
webui-user.bat のショートカットをデスクトップに作り、http://127.0.0.1:7860/ をブラウザのブックマークに登録しておけば次回以降の起動も楽です。
終了方法
ソフトを終了するには、コマンドプロンプト (黒背景に白文字の画面) を閉じるだけでOKです。
コマンドプロンプトが開いたままだとブラウザの web UI 画面を閉じてもバックでソフトは起動し続けたままになります。
ソフトの更新方法
Stable Diffusion web UI を簡単に更新するために、更新用バッチ (update.bat) を作成してそれを起動するだけで更新できるようにします。
(参考:Easily Auto Update your Automatic1111 fork. (No command line) )
更新用バッチの作成手順
webui-user.bat をコピーして同じフォルダに貼り付け、名前を「update.bat」に変えます。(名前は例。任意。)
それを右クリックして「編集」を押します。
set COMMANDLINE_ARGS= と call webui.bat の間に
と入力して保存します。
以下の画面のようにすればOKです。
※お使いの環境によっては 元の webui-user.bat の中身が異なる関係で上記画面と多少記述内容が異なるかもしれません。
しかし、call webui.bat の前の行に git pull を入れれば問題ありません。
これで update.bat の作成は完了です。(忘れずに保存してください)
普段の更新手順
更新したい時は webui-user.bat の代わりに今作った update.bat を起動すれば、更新作業が行われてからソフトが起動します。
更新があると、以下の画面のように「+」「-」などとアップデートされたファイルが一覧で表示されます。
しばらく待つといつもの「Running on local URL: http://127.0.0.1:7860」が表示されるので、http://127.0.0.1:7860/ にアクセスすれば更新後のソフトが起動します。
更新のタイミング
Stable Diffusion web UI (AUTOMATIC1111版) は頻繁に更新が入るので、普段から webui-user.bat の代わりに update.bat で起動して常に最新状態のソフトを使うのもアリです。
時間がかかる更新を後回しにしたい場合は、普段は webui-user.bat から更新抜きで起動して、更新したい時だけ update.bat を使うのが良いかもしれません。
その他 - メモ
※情報は随時追記予定です。
AUTOMATIC1111版とNMKD版の比較
コマンド無しの GUI で Stable Diffusion を操作できるソフトとして、だいたい Stable Diffusion web UI (AUTOMATIC1111版) か NMKD Stable Diffusion GUI のどちらかをほとんどの人は使っている印象があります。
特徴を一言でまとめると
NMKD版:インストールや使用が超簡単かつ基本機能は抑えられている
です。
今までずっとNMKD版の使い方をこのサイトで説明してきましたが、AUTOMATIC1111版も非常におすすめです。(まだ全然使いこなせていませんが)
基本的にNMKD版でできることはほとんどすべてAUTOMATIC1111版でできると思います。
例外は次のとおりです。(これ以外にもあるかもしれませんが、今のところ確認中です。)
同居も可能なので両方入れて自分に合う方を選べばいいと思います。
(なお、お使いのPC環境によってはエラー等でどちらかのソフトしか使えない場合もあります。ソフトが2つあるおかげで片方が使えなくてももう片方を使えば諦めずに済みます)
画像生成速度
きちんと条件を揃えて厳密に比較した訳ではありませんが、同一プロンプト・設定・シードで画像を30枚生成させたときの所要時間は両者でほとんど差がありませんでした。
(AUTOMATIC1111:4分8秒 NMKD:4分13秒)
(GeForce RTX 2060 SUPER サンプリング回数 50、 サンプラー:Euler a、512x512、CFG Scale 7.5)
どちらも1枚あたり約8秒で画像を生成してくれました。
機能
AUTOMATIC1111版に物凄く沢山の機能があり、現在全く把握しきれていません。
特に重要な違いについては後でまとめるかもしれません。
(以下、今後情報を更新する予定)