WindowsネイティブへのCUDA, PyTorchの環境構築

スポンサーリンク
PyTorch
スポンサーリンク

はじめに

WindowsネイティブへのCUDA、Pytorchの環境構築をまとめます。PyTorchは今機械学習の世界で最も使われているフレームワークの一つです。導入難易度も、TensorFlowよりも低めとのことです。今回はWindowsネイティブへの環境構築を行っていきます。

PCの構成(参考)

OS:Windows11HOME(22H2)
CPU:12thGen Intel Core i5-12400F (2.5GHz)
GPU: NVIDIA GeForce RTX 3080(10GB)
RAM: 32GB

GPU関係アプリのインストール

NVIDIAドライバの更新

下記のNVIDIAのWebサイトから、構成にあった最新のドライバを確認し、最新になっていない場合は、念のため、インストールします。私はゲームもするので、インストールしているGeForce Game Readyドライバーからアップデートをしました。

PyTorchソフトウエア要件

公式ページから要件を確認します。

今回、2022/12/06現在の安定版であるPyTorch1.13.0をWindows環境にでインストールします。PackageはPip、言語はPythonを用います。CUDAは最新は11.8ですが、まだ、PyTorchが対応していないので、CUDA11.7を入れることにします。

Build Tools for Visual Studio(C++コンパイラ)のインストール

CUDA Toolkitのインストールに先立って、C++のコンパイラを含むBuild Tools for Visual Studioをインストールしておきます。(WindowsにC++のコンパイラを含まないため)
下記から、Build Tools for Visual Studio2022をダウンロードして、インストールします。

「Build Tools for Visual Studio2022」のインストーラーから「C++によるデスクトップ開発」と、左側の「v143ビルドツール用C++/CLIサポート(最新)」にチェックを入れて、インストールします。インストール後、再起動が促されるので、再起動します。

CUDA Toolkit 11.7のインストール

公式ページからバージョンに注意して、今回はCUDA Toolkit 11.7をインストールします。

cuDNNのインストール

公式ページにアクセスし、アカウント作成を行ってログインします。cuDNNは、GPUに対応したニューラルネットワークのライブラリです。プラットフォームとインストールしたCUDA ToolkitのバージョンにあったcuDNNをダウンロードします。

ダウンロードしたファイルは解凍して、適当なところにおいて、その中のbinを環境変数の中の、「ユーザー環境変数」のPATHに追加します。

PyTorchのインストール

Pythonのバージョンの確認

PyTorchのサポートしているPythonのバージョンは3.7~3.9です。もし、Python3.9をインストールしていない場合は、Python3.9をインストールします。

> py -0
 -V:3.11 *        Python 3.11 (64-bit)
 -V:3.10          Python 3.10 (64-bit)

確認したところ、Python3.10と3.11しかインストールしていないようなので、Python3.9を追加でインストールします。

参考記事:Windowsで複数のバージョンのPythonをインストールする

Pythonの公式ページから、Python3.9の安定版をインストールします。今回はPython3.9.13をインストーラーからインストールします。

> py -0
 -V:3.11 *        Python 3.11 (64-bit)
 -V:3.10          Python 3.10 (64-bit)
 -V:3.9           Python 3.9 (64-bit)

インストールしました。

venvでのPython3.9の仮想環境構築

venvでPython3.9の仮想環境を作っていきます。今回は「torch_env」という名前で仮想環境を立ち上げます。次いで、よく使うライブラリをインストールします。

> py -3.9 -m venv ./torch_env 
> cd .\torch_env\
> .\Scripts\Activate.ps1
(torch_env) > python -V
Python 3.9.13
(torch_env) > python -m pip install -U pip setuptools
(torch_env) > python -m pip install pandas
(torch_env) > python -m pip install matplotlib
(torch_env) > python -m pip install jupyterlab

PyTorchのインストール

公式ページに記載されているコマンドをコピーして実行します。

(torch_env) > pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 

PyTorchのテスト

jupyter labを起動して、PyTorchを使ってみます。

(torch_env) > jupyter lab

PyTorchをインポートして、バージョンを確認してみます。

import torch
torch.__version__
'1.13.0+cu117'

PyTorchでGPUが使えることを確認します。

torch.cuda.is_available()
True

GPUのデバイスを出力します。

torch.cuda.get_device_name()
'NVIDIA GeForce RTX 3080'

問題なくPyTorchがGPU上で起動することを確認しました。

参考記事

参考までにこれまでに書いた様々な環境構築の記事を紹介します。ご参考ください。

WindowsのWSL上でGPUのTensorFlow環境構築
NVIDIAのGPUマシンにWindowsのWSL上にCUDA、cuDNNをインストールして、TensorFlowの機械学習の計算環境を構築します。
Windows11へのLinux環境の構築
新しいPCを購入し、改めていろいろな環境構築をすることになったので、Windows11にLinux環境を構築の手順をメモとして残します。WindowsへのLinuxの導入はWindows Subsystem for Linux(WSL)を使った方法がデフォルトでサポートされているから非常に簡単です。
Windowsで複数のバージョンのPythonをインストールする
普段のPythonの学習は最新バージョンのPythonでしたいけど、特定のライブラリを動かすためには別のバージョンのPythonを使いたいことはありますよね。例えば、TensorFlowではインストーラー毎に対応しているPythonのバージョンが決まっているため、最新バージョンが入っていればよいというわけではありません。ここでは、複数バージョンのPythonのインストールと使い分け方法を考えてみます。
Dockerで日本語形態素解析エンジンMeCabのPython開発環境を構築~前半
Dockerで日本語形態素解析エンジンMeCabのPython開発環境の構築に挑戦してみます。
Dockerで日本語形態素解析エンジンMeCabのPython開発環境を構築~後半
Dockerで日本語形態素解析エンジンMeCabのPython開発環境の構築に挑戦してみます。(前回の続き)
WindowsでPythonの競プロ環境を作ってみる
アルゴリズムの勉強のために競技プログラミング(競プロ)のサイトで練習問題にチャレンジしてみようと思い、環境構築から始めてみました。手順をメモに残します。

コメント