OpenMythosのサンプルプログラムを動かしました

1.概要 前回、OpenMythosの環境構築まで実現したので、GitHubにあるサンプルプログラム(Usage)を動かしてみました。一部エラーが発生しましたが、結果出力部分なので修正をしました。その内容を記述します。 2.詳細 Usageに記載されているPythonプログラムをopenmythos_usage.pyとして作成します。 $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py 下記エラーとなります [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) Traceback (most recent call last):   File "/home/nakasima/openmythos/openmythos_usage.py", line 48, in <module>     rho = torch.linalg.eigvals(A).abs().max().item()           ^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: linalg.eig: The input tensor A must have at least 2 dimensions. コードの下記部分を修正します #rho = torch.linalg.eigvals(A).abs().max().item() rho = A.abs().max().item() $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) [MLA] Spectral radius ρ(A) = 0.3679 (mus...

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アプリの動かし方

コメント

このブログの人気の投稿

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint-22.3にWine 11.6をサクッと入れてみました

LinuxMint 21.3にWinBoat導入を試してみました