Stable Diffusion WebUIをUbuntuとpyenv-virtualenvの環境でインストールした。
公式のマニュアルどおりではうまく行かなかったので、正しいのかはわかってないけどとりあえず動いたので差分のメモをしておきます。試したのは2023/3/25。
Ubuntuの環境は以下の通り
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
1. まずpyenv virutualenvで専用の環境を作る。現時点で要求のpythonのバージョンが3.10.6とのことだったので従う
$ pyenv virtualenv 3.10.6 stable-diffusion-webui
みたいにして、3.10.6をベースにしたvirtualenv環境を作っておく。
2. "Automatic Installation on Linux"のコマンドでは起動時にstable diffusionが見つからないと出て起動できなかった。仕方がないのでここのドキュメントにあるManual Installの方を試した。
3.これは単純に私が理解してないだけだと思うけど、Manual Installの最後の意味がわからなかった(何をどこに配置すればいいのかがわからなかった)
# (outside of command line) put stable diffusion model into web ui directory
# the command below must output something like: 1 File(s) 4,265,380,512 bytes
dir model.ckpt
結論としては、 ダウンロードするモデル(checkpointファイルと呼び、.ckptファイルというらしい)は
このあたりからダウンロードして、配置先は
$(stable-diffusion-webui-base)/models/stable-diffusion/ の配下に置いた。
4.最後に
$ python webui.py
を実行すれば起動するとあるのだが、
AssertionError: Couldn't find Stable Diffusion in any of: ['/home/xxx/src/stable-diffusion-webui/repositories/stable-diffusion-stability-ai', '.', '/home/xxx/src']
みたいなエラーが出て起動できなかった。ぐぐってみるとなんかのバグか環境依存な気もしたんだけどよくわからなかった
5.困ったので、
$ python launch.py
を実行してみた(launchと書いてあるんだからとにかく何かが起動するんだろうと思っただけ)
そうすると
$ python launch.py
Python 3.10.6 (main, Mar 25 2023, 07:43:47) [GCC 9.4.0]
Commit hash: a9fed7c364061ae6efb37f797b6b522cb3cf7aa2
Installing open_clip
Cloning Stable Diffusion into ...(略)
みたいに出て、何やら追加でモジュールがダウンロードされているように見えた。
最終的に
Running on local URL: http://127.0.0.1:7860
と表示されて、ここのURLにアクセスするとStable Diffusion WebUIがブラウザ上で表示できた
さらに、以降は
$ python webui.py
でも起動できたので、インストールの最後の段階でpython launch.pyを実行することが必要だったのだろう(きっと)。