IT Learning

実践形式でITのお勉強

Python Pytorch ディープラーニング

PytorchとCUDA toolkit & cuDNNのインストール(Anacondaなし)

投稿日:

Pythonでディープラーニングを行う場合によく使用されるPytorchとNVIDIA GPUを使用するためのCUDA toolkitとcuDNNのインストール方法について説明します。

なお、Anacondaではなく、素のPythonにPytorchをインストールしていきます。

インストール先環境

  • Windows11 Home
  • intel core i7-13700F
  • メモリ16GB
  • GPU NVIDIA GeForce RTX3050
  • Python 3.9.13

CUDA toolkitのインストール

Nvidiaのダウンロードサイトに行きます。ラインナップの中にCUDA toolkitがあるのでそこからダウンロード場所へ移動します。

この状態だと最新バージョンであるCUDA toolkitの12.2のダウンロードが前提になっていました。ここで自環境であるWindows11のexe(network)を選択してダウンロードを実行。

落ちてきたインストーラを実行し、インストールしていきます。

システムチェックが通ったら使用許諾契約書に同意して続行

インストールオプションは[高速]を選びました。

オプションでCUDA Visual Studio Integrationに関する確認が表示されました。Visual Studioを入れていないので表示されたのだと思います。理解しました、にチェックをいれて次へ

ネットワークインストーラを選択していたため、次はダウンロードが始まります。

インストールが完了し、Summary が表示されました。

無事にインストールが完了

以下の通りnvccコマンドが実行できていれば無事インストールできているようです。

>nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jul_11_03:10:21_Pacific_Daylight_Time_2023
Cuda compilation tools, release 12.2, V12.2.128
Build cuda_12.2.r12.2/compiler.33053471_0

cuDNNのインストール

続いてcuDNNをインストールしていきます。cuDNNはCUDAでディープラーニングを高速に行うためのライブラリでPytorchを使用する際には必要なのでインストールしていきます。

インストールはcuDNNのサイトから可能です。ただし、NIVIDIAのアカウント作成を求められたため、アカウントがない場合は作成しておく必要があります。

アカウント登録後にダウンロードメニューからcuDNN のダウンロードバージョンが選択できます。これは先ほどインストールしたCUDA toolkitのバージョンと合わせておく必要があります。

そのためここでは[CUDA 12.x]を選択してダウンロードします。

以下のようなファイルがダウンロードされるので解凍します。

そして、CUDA toolkitをインストールした際に作成された以下のフォルダの中にcuDNNというフォルダを作成します。

C:\Program Files\NVIDIA GPU Computing Toolkit

作成したフォルダの中、つまり以下のパスに解凍したcuDNNの中身をすべてコピーします。

C:\Program Files\NVIDIA GPU Computing Toolkit\cuDNN

そしてシステムの環境変数設定でPATHに以下を追加しておきます。

C:\Program Files\NVIDIA GPU Computing Toolkit\cuDNN\bin

これでcuDNNのインストールは完了です。コマンドプロンプトで以下のようにwhereで確認できればOKです。

>where cudnn64_8.dll

C:\Program Files\NVIDIA GPU Computing Toolkit\cuDNN\bin\cudnn64_8.dll

Pytorchのインストール

最後にPytorchをインストールしていきます

Pytorchのサイトで対応するバージョンを確認します。今回CUDAの12.2をインストールしたのですが、対応するPytorchがPreview(Nightly)しかありませんでした。しかも、 Compute PlatformもCUDA12.1までしかありませんでした・・・ちゃんとPytorch側を確認してからCUDA一式を入れるべきでした。

仕方がないので、いったんCUDA12.1で動くことを期待して選択し、pipコマンドを生成します。

生成されたpipを自分のPython 環境で実行します。

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121

pipしてから気づいたのですが、コマンドの最後の部分をcu122に変更すれば、12.2対応のPytorchがインストールできたかも・・・

なんとか無事にインストールは完了しました。

Successfully installed filelock-3.9.0 fsspec-2023.4.0 mpmath-1.2.1 networkx-3.0rc1 sympy-1.11.1 torch-2.1.0.dev20230828+cu121 torchaudio-2.1.0.dev20230828+cu121 torchvision-0.16.0.dev20230828+cu121

一応Pythonでimport torchして確認したところ、cudaは使えるようになっていました。12.1 のtorchで問題が起こらないかは今後触りながら検証していきます。

まとめ

  • CUDA toolkitとcuDNNはバージョンを合わせる必要あり
  • Pytorchのバージョンもあらかじめ確認してからCUDAをインストールしたほうがよさそう

Related

-Python, Pytorch, ディープラーニング

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です