![見出し画像](https://assets.st-note.com/production/uploads/images/106752371/rectangle_large_type_2_a413a24d60b4d6908e066ee89892cbfd.png?width=800)
Ubuntu 22.04にStable Diffusion WebUI環境を構築する
この記事ではUbuntu 22.04にStable Diffusion環境を構築します。
Python, wget, gitのインストール
まずは、python, wget, gitなどインストールに必要なアプリケーションをインストールします。
sudo apt install wget git python3 python3-venv
インストール後、Pythonのバージョンを確認します。
python --version
Python 3.10.6
CUDAのインストール
次に、CUDAをインストールします。
PyTorchと対応するCUDAのバージョンの確認
CUDAをインストールする前に、まずはPyTorchが対応しているCUDAのバージョンを確認しましょう。PyTorchの公式サイトにアクセスし、PyTorch BuildをStable、OSをLinux、PackageをPip、LanguageをPythonと設定することで、利用可能なCUDAのバージョンが分かります。
![](https://assets.st-note.com/img/1685277504591-FYVnwryWVM.png?width=800)
今回の場合、CUDA 11.7か11.8が利用可能と判明しました。この記事が古くなっている可能性もあるので、この方法で利用可能なCUDAのバージョンを予め特定しておくことをお勧めします。
CUDAをインストールする
古いバージョンのCUDAをダウンロードするには、まずcuda-toolkit-archiveにアクセスします。
今回ダウンロードするのは11.7なので、11.7.0か11.7.1を選択します。パッチバージョンでの修正が含まれていると思われますので、特に理由がなければ11.7.1を選択することを推奨します。
![](https://assets.st-note.com/img/1685277555495-d6VMCqCHgc.png?width=800)
次に、CUDA Toolkit 11.7 Update 1 Downloadsのサイトで環境を入力すると、インストールに必要なコマンドが生成されます。今回はIntelのCPUを搭載したUbuntu22.04の環境なので、以下のように選択します。お使いのPCの環境に合わせて選択してください。
![](https://assets.st-note.com/img/1685277611694-azUTBI92aX.png?width=800)
選択した結果、以下のようなコマンドが表示されます。
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/11.7.1/local_installers/cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt update
sudo apt install cuda-11-7
インストール手順を開始する前に一つ注意点があります。最後の apt install cuda コマンドは、sudo apt install cuda-11-7 のようにバージョンを含める必要があります。そうしないと最新版のCUDAがインストールされてしまいます。PyTorchは最新版のCUDAに対応していない可能性が高いです。そのため、必ずバージョンを指定してインストールしてください。
インストールが完了したら、以下のコマンドを実行して、CUDAのバージョンを確認できます。
/usr/local/cuda-11.7/bin/nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
パスが適切に設定されていないと、後の操作で困ることがあります。そのため ~/.bashrc ファイルに以下の記述を追加し、CUDAへのパスを通すことをおすすめします。
# Setting CUDA PATH
export PATH="/usr/local/cuda-11.7/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"
保存した後、新しいターミナルを開いて which nvcc を実行し、パスが正しく通っていることを確認してください。
❯ which nvcc
/usr/local/cuda-11.7/bin/nvcc
PyTorchのインストールコマンドの確認
PyTorchの公式ページにアクセスし、インストールするコマンドを選択します。
![](https://assets.st-note.com/img/1685277633353-31xCNo7DJl.png?width=800)
現時点では、PyTorchが対応している最新版のCUDAが11.7であるため、 pip3 install torch torchvision torchaudio を使用します。しかし、将来的に11.8や12.0などが追加されたときのために、CUDAのバージョンを指定したコマンドをメモしておくことをおすすめします。
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
このコマンドは、Stable Diffusion WebUIにPyTorchをインストールするためのコマンドを設定する場所に記述します。
Stable Diffusion WebUIのインストール
まず、リポジトリをCloneします。
git clone --depth=1 --branch v1.2.1 https://github.com/AUTOMATIC1111/stable-diffusion-webui
webui-user.sh ファイルを用いて、細かな設定を行います。
例えば、Stable Diffusion WebUIはデフォルトで ~/ 以下にcloneすることを想定していますが、もし異なる場所にcloneした場合は、 install_dir を以下のように変更する必要があります。
install_dir="/home/$(whoami)/Apps"
PyTorchのインストールコマンドもここで設定します。
export TORCH_COMMAND="pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117"
画像生成が僅かに速くなるxformersも、以下のように COMMANDLINE_ARGS を追加することで有効化できます。
export COMMANDLINE_ARGS="--autolaunch --xformers"
以下のコマンドでスクリプトに実行権限を付与し、実行します。
chmod 755 webui-user.sh
bash ./webui-user.sh
そして、同じターミナルでwebui.sh を実行します。
bash ./webui.sh
初回の実行では、モデルのダウンロードや依存関係のあるパッケージのダウンロードが必要となり、これには1~3時間程度かかることがあります。
インストールが成功すれば、http://127.0.0.1:7860/ にWebUIが表示されます。
トラブルシューティング
ここからは、よく遭遇するエラーとその解決策についてまとめます。
The program 'nvcc' is currently not installed. You can install it by typing: sudo apt install nvidia-cuda-toolkit
このエラーは、CUDAがインストールされていない、またはパスが適切に設定されていないときに発生します。 /usr/local/cuda-11.7/bin/nvcc に実行可能なファイルが存在することを確認してください。
No module 'xformers'. Proceeding without it.
xformersがインストールされていない場合にこのエラーが発生します。webui-user.sh の COMMANDLINE_ARGS に --xformers を追加します。
export COMMANDLINE_ARGS="--autolaunch --xformers"
RuntimeError: Couldn't install torch.
このエラーは、何らかの理由でPyTorchのインストールに失敗した際に発生します。
自分の場合、このエラーが発生した原因は、インストールしようとするPyTorchが対応しているCUDAのバージョンと、システムにインストールされているCUDAのバージョンが一致していなかったためでした。
Stable Diffusion WebUIはデフォルトで以下のようなコマンドでPyTorchをインストールしようとします。
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
ここではCUDA 11.3に対応したPyTorchをインストールしようとしています。しかし、私がCUDAをインストールする際に sudo apt install cuda と実行した結果、CUDA 12.1がインストールされてしまいました。
記事冒頭で説明したように、PyTorchとCUDAのバージョンを一致させることで、正常にインストールできました。
ただし、この解決法が全ての環境で通用するとは限りません。同じようなエラーに遭遇した方が、この情報を参考に問題を解決できれば幸いです。
この記事が気に入ったらサポートをしてみませんか?