Stable Diffusionをubuntu 22.04でGPU付きで試しました
1.概要
Stable Diffusionの記事をネットで見つけて、LocalPC上で試してみたいと思いました。Deep Learning環境になれた方ならばスムーズに実行できると思います。手始めに導入と動作確認をしたので、その内容を記述します。
2.
詳細
最初、ubuntu-20.04で環境構築に取り組んだのですが、Stable Diffusionがpython3 3.10を必要とするため、ubuntu-22.04で環境構築をしました。参考資料に沿って作業をします。
環境は以下のとおりです
cpu core i3-7100
gpu nvidia-1050Ti
memory 16GB
SSD 250GB
手順は以下のとおりです。
(a) nvidia driverインストール
(b) cudaインストール
(c) Stable Diffusionのインストールと起動
(d) GUI利用
(a) nvidia driverインストール
標準のnouveauをdisableにして、下記ドライバーをインストール
$ nvidia-driver-550 - distro non-free recommended
(b) cudaインストール
準備として下記モジュールをインストールします
$ sudo apt -y install curl
$ sudo apt-get -y install git
$ sudo apt -y install python3-pip python3-venv python3-packaging
nvidia-toolkitを導入します
$ sudo apt -y install nvidia-cuda-toolkit
cudaのチェックをするときに、nvccの保存場所が異なるため、copyをします
$ nvcc --version
$ sudo mkdir -p /usr/local/cuda/bin
$ sudo cp -p /usr/bin/nvcc /usr/local/cuda/bin
$ git clone https://github.com/NVIDIA/cuda-samples.git
$ cd ~/cuda-samples/Samples/1_Utilities/deviceQuery
$ SMS=70 make
$ ./deviceQuery
$ cd ~/cuda-samples/Samples/1_Utilities/bandwidthTest
$ SMS=70 make
$ ./bandwidthTest
SMS=70 makeは、GPUの世代に合わせるためのオプション設定です。
設定がないと下記エラーになります。
$ make
/usr/local/cuda/bin/nvcc -ccbin g++ -I../../../Common -m64 --threads 0 --std=c++11 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_89,code=sm_89 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o matrixMul.o -c matrixMul.cu
参考資料を参照願います
(c) Stable Diffusionのインストールと起動
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
$ cd ~/stable-diffusion-webui
$ python3 launch.py --lowvram --xformers --listen
何故かstable-diffusion-webui/launch.pyでエラーになります。
Traceback (most recent call last):
File "/home/nakasima/stable-diffusion-webui/launch.py", line 48, in <module>
main()
File "/home/nakasima/stable-diffusion-webui/launch.py", line 44, in main
start()
File "/home/nakasima/stable-diffusion-webui/modules/launch_utils.py", line 465, in start
import webui
File "/home/nakasima/stable-diffusion-webui/webui.py", line 13, in <module>
initialize.imports()
File "/home/nakasima/stable-diffusion-webui/modules/initialize.py", line 15, in imports
import torch # noqa: F401
ModuleNotFoundError: No module named 'torch'
下記コマンドを再実行しました
$ python3 launch.py --lowvram --xformers --listen
ダウンロードが実行されて、起動します。
(d) GUI利用
Running on local URL: http://0.0.0.0:7860
の表示が出ているので、ブラウザ(Firefox)から
http://localhost:7860/
でGUIに接続します。
3.所見
・GPU稼働率
nvidia-smiで参照するとGPUは98%の高稼働率でした
・容量が必要な大きなアプリケーションです
Ubuntu-22.04が約10GB
nvidiaのdriver、cudaとStableDiffusionで約20GB
4.参考
[外部サイト参照]
・Stable Diffusion : インストール
・[要点を掴む] CUDAアプリの動かし方
コメント
コメントを投稿