Stable Diffusionが自機で使える「Stable Diffusion WebUI(AUTOMATIC1111)」をローカルPCへ導入するやり方を紹介します。
環境によってはエラーがでますので、その対処もできるだけまとめていきます。
WebUIの導入方法
Pythonのインストール
Stable DiffusionのWebUIはPythonで動きます。
最新版ではなく3.10.9がいいようです。
PYTHONのダウンロードページでは、特定のバージョンだけダウンロード・インストールすることができます。
インストール後コンソールを開けばバージョンを確認することができます。
Git
Gitはファイルのバージョン管理プログラムです。あとあとAI関連のいろんなパッケージを入れやすくなるので、この機会に入れておきましょう。
Gitを入れたら、Git経由でWebUIを入手してみましょう。
Gitのコンソール、またはターミナルから
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
のコマンドで実行しましょう。
終了後は「"C:\Users\{ユーザ名}\stable-diffusion-webui\」の場所にファイルが出来ています。
それを任意の場所にコピーし、「webui-start.bat」を実行すると必要なインストールから始まります。30分以上?かかるので終わるまで待ちましょう。
インストールが終われば、「http://127.0.0.1:7860/」でブラウザからアクセスできるようになります。(リンクはCtrlを押しながらクリックでも起動)
以降は「webui-start.bat」を起動し、リンクを開きましょう。
アップデート方法
起動時に更新確認をするには、「webui-start.bat」を開き、以下のように「--update-check」という引数を追加します。
set COMMANDLINE_ARGS=--update-check
アンインストールと再インストール
機能拡張をいれたり、WebUIのカスタム化などをしていると、急に動かなくなる場合があります。
原因がわからない場合は、一度アンインストールのうえ再インストールが確実でしょう。
アンインストールは特にアンインストーラは不要。利用フォルダを削除すればいいようです。
ただしmodelやextensionフォルダなど、カスタマイズしてある場所は必ずバックアップしておきましょう。
おすすめ機能拡張はこちら。
再インストールですが、一度Gitを使ってファイルを入手していれば「"C:\Users\{ユーザ名}\stable-diffusion-webui\」ができています。
任意の場所にコピーし、「webui-start.bat」を実行すると必要なインストールから始まります。
不具合と対処
機能拡張が動かない?
Stable Diffusion WebUIのバージョンとの兼ね合いで使えない場合があります。
Stable Diffusion WebUIを最新版にすると動作するかもしれません。ただStable Diffusion WebUIの更新でまた不具合になる可能性があるので注意して更新作業を行いましょう。
更新方法はWebUIを入れているフォルダ内で「シフト+右クリック」を実行。
「Git Bash Here」を実行し
git pull
とコマンドを入れます。
実行後、WebUIを起動しなおします。
画像が生成されない?
急に画像が生成されなくなりました。この場合、設定を変更すると治るかもしれません。
Setting>Stable Diffusionへ移動。
「Upcast cross attention layer to float32」をオンにします。
これはおそらくモデルの小数点対応によるエラーを回避するもので、うちではこれで不具合が治りました。
Can’t load safetensors
「safetensors」のデータがロードできないというエラーです。
「webui-user.bat」に、
set SAFETENSORS_FAST_GPU=1
を追加すると動くかもしれません。
How to Solve Stable Diffusion Errors (Performance Tips Included) | by Fanis Spyrou | Generative AI
RuntimeError?
エラーでTorchがGPUを使えない、といった内容の文が出る場合の対処です。
webui-start.batを開き、
set COMMANDLINE_ARGS=--skip-torch-cuda-test
のようにcuda testをスキップさせると起動できるかもしれません。
cudaとはCompute Unified Device Architectureのことで、エヌヴィディアのチップ上の開発プラットフォームのことです。
RuntimeError: "LayerNormKernelImpl" not implemented for 'Half'?
webui-start.batを開き、 COMMANDLINE_ARGSに以下の引数を追加します。
--precision full --no-half
ただこの場合GPU(エヌヴィディアのボード)の処理が活用できず、画像生成はかなり遅くなります。今まで早かった場合は、再インストールなどの根本的対処をしたほうがいいかもしれません。
1エラーの場合は?
「RuntimeError: Couldn't determine Stable Diffusion's hash=ランタイムエラー、ステーブルディフィージョンのハッシュを決定できない」となるエラーです。
複数の原因があるようで、フォーラムをチェックしてみると
・WebUIのクリーンインストールで治った
・Gitを入れなおしたら治った
・Launch.pyでハッシュコードを変更したら治った
...などいろんな意見が出ています。
うちでこのエラーになったときは、Gitを一度アンインストールして入れなおしたら治りました。
9009エラーの場合は?
インストール自体はうまくできたのですが、WebUIの起動、つまりwebui-user.batの段階でPythonが9009エラーとなる場合がありました。
対策ですが、まず念のためPythonを入れなおします。
また、どうみてもPythonのPathが通ってないようなエラーなので、パスを確認しましょう。システムにパスが通ってないと、きちんとディレクトリを移動してからでないとコマンドが通りません。
確認するには「設定>システム>バージョン情報>システムの詳細設定」から
「環境変数」を選び、
「Path」の「編集」から確認・追加します。
うちでは治った対策方法としては、「設定>アプリ>アプリの詳細設定>アプリ実行エイリアス」でPythonのところをオフにするというものです。
本来は「アプリ実行エイリアス」は「exeファイル(実体は存在しない)をコマンドラインで指定しての起動が可能」にするものだそうです。
逆に余計なショートカットにでもなっていたのでしょうか。
コマンドラインからの起動に対応、最終形が見えてきた「Windows Terminal」:Windows 10 The Latest - @IT
その他、フォーラムの意見を見てみると、「Webui-user.bat」を開き
「Python=C:/python310/python.exe」のようにPython.exeの場所を記述するようにしたら治ったとするユーザがいます。
Couldn't launch python, exit code 9009 · Issue #1423 · AUTOMATIC1111/stable-diffusion-webui · GitHub
当ブログで紹介しているモデルや機能拡張の一覧はこちら。