新PCでCUDAのセッティングをする備忘録【2024.10】
やりたいこと
- 新しく調達したPCでCUDA・Pytorchを動作させる
- Ryeと併用して動作させる
- 音声diffusionモデルを動かす(Openモデルの性能が現状どんなものかいじりたい)
環境
パーツ | 名称 |
---|---|
OS | Windows 11 |
CPU | Intel(R) Core(TM) i7-14700F 2.10 GHz |
RAM | 64.0 GB |
GPU | RTX 4070 Ti SUPER |
Python 3.11.5
Ryeのインストール
公式ページを参照しながらWindows版をインストール
難なく完了
Ryeバージョン
rye 0.41.0
platform: windows (x86_64)
self-python: cpython@3.11.5
symlink support: true
uv enabled: true
Visual Studio Build Tools のインストール
↑でCUDA Toolkitをインストールしていると、Visual Studio Build Tools入れろよと怒られ
そういえばそんなのあったなとインストール
こちらも公式サイトからインストーラをダウンロード
このサイトの下のほうにスクロールして
Build Tools for Visual Studio 2022をダウンロード
バージョン
Visual Studio Build Tools 2022 17.11.5
Ryeで環境構築
rye init <プロジェクト名>
これで以下のようなディレクトリ構成が完成
<プロジェクト名>
├── .git
├── .gitignore
├── .python-version
├── README.md
├── pyproject.toml
└── src
└── newproject
└── __init__.py
以下のコマンドでPythonバージョンが .python-version ファイルに保存される
rye pin <Pythonバージョン>
3.12系だとライブラリ互換性でよい思い出がなかったため、ずっと使っている3.11.5にしました
Stable Audio Open 1.0を触ってみようとすると
以下のサンプルコードを動かそうとすると...
モデル推論時にエラーが発生し動かない
いろいろと調べ、CuDNNもダウンロードしないといけないと分かった
数年ぶりで手順をすっかり忘れていた
CuDNNをダウンロード
Nvidiaアカウントにログインしろと言われ、手順すら忘れておりパスワードを覚えているはずもなく、パスワードを初期化し、ダウンロード
-
ここから
Download cuDNN v8.9.7 (December 5th, 2023), for CUDA 12.x
を選択し、ダウンロード - bin, include, lib, LICENSEをCUDAのディレクトリ(デフォルトだとおそらく→
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6
)に移動 - Windowsの検索窓に
システム環境変数の編集
と入力し、CUDAと同様のパスを通す
再びStable Audio Open 1.0を触ってみようとすると
torchをごにゃごにゃしている部分でエラーが発生
試しに
import torch
print(torch.cuda.is_available())
をしてみるとFalseに
いろいろと調べた結果、torchのバージョンがあっていない様子
(脳死でRye add torch
したのでそりゃそう)
互換性のあるバージョンのtorchをインストール
このサイトでバージョンを確認
今回はcu124のwheelを選択(126とかじゃなきゃダメかと思ったが、124で動いたのでOK)
pyproject.toml
に以下を追記
[[tool.rye.sources]]
name = "torch"
url = "https://download.pytorch.org/whl/cu124"
type = "index"
ちなみに今回のryeはuv有効なので以下でも良いらしい
[tool.uv]
extra-index-url = ["https://download.pytorch.org/whl/cu124"]
先人の知恵に感謝
再々びStable Audio Open 1.0を触ってみる
無事動作した
おまけ:Stable Audio Open 1.0の感想
- 最大で47秒の音声を.wav形式で生成できる
- 焚火の音や小鳥のさえずりをLLMに生成させた適当なプロンプトで生成させてみたが、良い感じ
- 推論時間は30秒ほど?
- 何より家庭用GPUでこの速度が出るのはすごいなと思った