stable-diffusion-webuiの導入TIPS

 SD-WEB UIの導入や運用で気づいたことなどをまとめてみました。
 これからWEBUIを導入する方やトラブってこまった方の参考になれば幸いです。


 SD-WUIのインストールは、Githubの本家ページのドキュメントに沿ってインストールするのがいちばん確実です。

 日本語解説サイトもあるのですが、ざっと見た感じだと間違ってたり、情報が古かったりすることが多いです。

 WEBUIはバージョンアップが頻繁なうえに、大幅な仕様変更も珍しくなく、情報がすぐ陳腐化します。
 解説サイトなどを探すときは、できるだけ新しい記事を探しましょう。
 複数サイトを参考にして、古い記事の情報と新しい記事の情報をまぜるのはトラブルのもとです。

 解説記事の個人的なおすすめは、通称としあきwikiの「ローカル版導入」がわかりやすいかと。
 としあきwikiはリンク禁止なので、「Stable diffusion としあき wiki」とでもやって検索してください。


トラブルtip書いておきます。


・Pythonはバージョン違いに敏感なので、最新版ではなくて推薦版をちゃんと入れる。
 よくある感覚で「最新版入れときゃいいだろ」でやるとトラブる。

 すでに古いPythonが入って、かつ詳しくない人は「Python関連は全部ごっそり削除してから入れ直す」と安全確実(他にPython依存のアプリを使ってない場合)。


・Pythonインストール時は、インストーラーでPathを追加する項目(英語)に必ずチェックを入れる。
 初心者が陥りやすい罠。
 チェックを忘れた場合は、システムのプロパティにある環境変数タブから手動で追加することもできる。
 
でもやり方をわざわざ覚えるぐらいなら、Pythonをインストールしなおした方が手っ取り早い。

 ・ハマったときはWEBUIのフォルダごと削除してやりなおすのが楽で確実。
 知識が無い人が、下手にPythonのバージョンを弄ったりPytorchあたりを手動でバージョンアップしたりするとかえってハマる。
 新規インストールは「git clone」して、web-ui.bat叩くだけでいいので、早くて安全。

 設定を引き継ぎたいときは、ルートにある「config.json」をコピればいいけど、古い設定を強引に移すとトラブルのもととなる可能性もある。


・SD関連のアプリは「VENV」という仮想化技術を使っているものがほとんどで、その仕組みを、ざっとでいいので把握しておくこと。
 コレ超重要。
 VENVはPython言語における仮想環境技術。
 Windowsでいうと「VIRTUAL BOX」とか「VMware」みたいなもの。

 VENVの中でインストールしたものは他のプログラムに影響を与えない。  
 逆にVENV内でインストールしたものは他に影響を与えない。

 SDWEBUIをインストールすると、WEBUI用のVENVを自動で構築し、以後はその仮想環境内で動作するようになる。

 WEBUIインスト後に、WEBUI本体の環境構築や追加インストールを行うときは、基本的にvenvを起動して行う(単純なファイル差し替え、例えばgit pullとかならvenv不要。ライブラリを追加でインストールするような場合はvenvが必要)。
 venvを起動せずに追加プログラムをインストールすると、仮想環境内にはインストールされずに「更新プログラムを入れたはずなのに、なにも変化がない」ということが起こる。


・AnacondaとかDockerはトラブルの元なので自信がなければ使わない。
 中途半端に知識があると管理ツールを入れたくなるが、仮想環境がある都合上、浅い知識でこのへんを使うとライブラリの共有やバージョンの依存関係がぐっちゃになって死ぬので近寄らない方がいい。


・深いフォルダでコンソールを開きたいときは、エクスプローラーでそのフォルダを開けた状態で、アドレスバーに「powershell」「cmd」などと入力すればよい。

・Powershellからコマンドプロンプトに移るときは、PSコンソールで「CMD」と打てばいい。

 なおPSとCMDは似てるけど別物で、コピーコマンドやディレクトリ表記方法が微妙に違うので要注意。
 例えば、VENVの起動は、コマンドプロンプトだと「.¥venv¥Scripts¥activate.bat」(¥は半角。\でも可)が正解で、「./venv/Scripts/activate.bat」は通らない。

 どっちを使ってもいいけど、Powershellの方が高性能でできることが多いが、その分ちょっと複雑。

-----------------------------------------------------------------------------------

こんなところでしょうか。
その他、分からないことは質問していただければ、分かる範囲でお答えします。

この記事が気に入ったらサポートをしてみませんか?