UbuntuでStable Diffusion Web UIを動かすのはさほど難しくはないし、検索するとそれなりにインストール手順が記載された記事を見つけることはできる。
しかしちょっとしたことでエラーが出て動かなくなり、原因をあれこれ探るより再インストールしなおしたほうが早いということも多々ある。
そこで手っ取り早く再構築するために何をしたかを忘備録として残すことにします。
主の環境
PCスペック
- CPU
Intel(R) Celeron(R) CPU G3900 @ 2.80GHz - メモリ
8GB - 記憶領域
SSD 500GB - GPU
RTX 3060
OS
- Ubuntu 22.04LTS
UbuntuにStable Diffusion Web UIインストールする手順
基本的には以下の2行でインストールが完了する
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui cd stable-diffusion-webui
起動は以下のコマンド
ログオフしても実行し続けるように nohupを使用している。
nohup /home/mining/stable-diffusion-webui/webui.sh &
tail -c 1000 -f /home/mining/stable-diffusion-webui/nohup.out
色々エラーが出たときの対処方法(下に行くほど重症)
とりあえず
venvを消してみる。
Stable Diffusionが入っているディレクトリで
rm -Rf venv
./webui.sh
bitsandbytesがなんたら
Stable Diffusionが入っているディレクトリで
source ./venv/bin/activate
python -m pip install bitsandbytes==0.41.1 --prefer-binary
deactivate
LD_LIBRARY_PATHがなんたら
Please make sure that - PATH includes /usr/local/cuda-11.8/bin - LD_LIBRARY_PATH includes /usr/local/cuda-11.8/lib64, or, add /usr/local/cuda-11.8/lib64 to /etc/ld.so.conf and run ldconfig as root
.bashrcへ以下を記述、cudaのパスとかは実際に存在しているか確認すること
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
以下のコマンドで即時有効化
source ~/.bashrc
Pythonリセット
仮想環境を作らずにインストールしてしまったパッケージをキレイに一掃
pip freeze > packagelist.txt pip uninstall -y -r packagelist.txt pip list
Python再インストール
Python3 -v
sudo apt-get remove python3.8
sudo apt-get remove --auto-remove python3.8
sudo apt-get purge python3.8
sudo apt-get purge --auto-remove python3.8
NVIDIA グラフィックドライバ関係アンインストール
sudo apt -y remove --purge nvidia* &&
sudo apt -y remove --purge libnvidia* &&
sudo apt -y remove --purge cuda* &&
sudo apt -y remove --purge cudnn* &&
sudo apt -y remove --purge libcuda* &&
sudo apt -y remove --purge libcudnn* &&
sudo apt -y autoremove &&
sudo apt -y autoclean
sudo apt -y update -y
sudo rm -rf /usr/local/cuda*
sudo reboot
NVIDIA グラフィックドライバ インストール
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/535.146.02/NVIDIA-Linux-x86_64-535.146.02.run
sudo chmode +x NVIDIA-Linux-x86_64-535.146.02.run
sudo ./NVIDIA-Linux-x86_64-535.146.02.run
CUDA関係インストール
CUDA 12.1
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda
CUDA 12.3
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.3.1/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.1-545.23.08-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.1-545.23.08-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
再インストール時に素早く元の環境に戻す
なにか問題が起きたら stable-diffusion-webui のインストールディレクトリごと消して
rm -Rf ~/stable-diffusion-webui
git cloneから再インストールしたほうが手っ取り早いけど、モデルやLoRAやoutputも消えてしまうので基本的にデータ関連は別ディレクトリ(StableDiffusionData)に保管してある。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui cd stable-diffusion-webui mv models models.bak mv outputs outputs.bak mv webui-user.sh webui-user.sh.bak ln -s /home/mining/StableDiffusionData/models . ln -s /home/mining/StableDiffusionData/outputs . ln -s /home/mining/StableDiffusionData/styles.csv . ln -s /home/mining/StableDiffusionData/webui-user.sh . ./webui.sh
ここで一旦起動して終了させる
source ./venv/bin/activate python -m pip install bitsandbytes==0.41.1 --prefer-binary deactivate
以下は必要に応じて
ln -s /home/mining/StableDiffusionData/extensions/sd-webui-controlnet /home/mining/stable-diffusion-webui/extensions/ ln -s /home/mining/StableDiffusionData/extensions/stable-diffusion-webui-localization-ja_JP /home/mining/stable-diffusion-webui/extensions/ ln -s /home/mining/StableDiffusionData/extensions/ABG_extension /home/mining/stable-diffusion-webui/extensions/ ln -s /home/mining/StableDiffusionData/extensions/AdverseCleanerExtension /home/mining/stable-diffusion-webui/extensions/ ln -s /home/mining/StableDiffusionData/extensions/stable-diffusion-webui-wd14-tagger /home/mining/stable-diffusion-webui/extensions/
webui-user.shに以下の記述
export COMMANDLINE_ARGS="--listen --xformers --reinstall-xformers --share --api-auth username:p@ssword --gradio-auth username:p@ssword --enable-insecure-extension-access"
コメント