2023-05-19
当方メイン使用中のWindows 11PC GPUは以下で、
NVIDIA GeForce GTX 1050 Ti 1341MHz Memory 4096MB GDDR5
PytorchからこのGPUを使えるようにする。もう結構古いものなので最新CUDA12はエラーになったので、CUDA11.8ベースで構築したメモ。
なお、WindowsでPythonというと必ずと言っていいほどAnacondaばっかの例ばかりヒットするが、普通にPython単体で行ける。自分はとにかく簡単な構成が好みであるので、Anacondaは入れない。仮想環境を分けるメリット云々より、変えたいならアンインストールして入れ直せば良いだけではないか。
1、最新版Pythonのインストール
というわけでまずPythonソフト単体のインストール。現時点で最新は3.11のようである。
https://www.python.org/downloads/windows/
上記公式ページ「Latest Python 3 Release - Python 3.11.3」を開いて下のほうWindows installer (64-bit)をクリックして実行ファイルをダウンロード、インストール実行。
「Add python.exe to PATH」にチェックを入れ「Install Now」
完了画面で「Disable path length limit」して終了。
確認
コマンドプロンプトを開いて、pythonとpipを確認する。
Microsoft Windows [Version 10.0.22621.1702] (c) Microsoft Corporation. All rights reserved. C:\Users\serve>where python C:\Users\serve\AppData\Local\Programs\Python\Python311\python.exe C:\Users\serve\AppData\Local\Microsoft\WindowsApps\python.exe C:\Users\serve>where python3 C:\Users\serve\AppData\Local\Microsoft\WindowsApps\python3.exe C:\Users\serve>where pip C:\Users\serve\AppData\Local\Programs\Python\Python311\Scripts\pip.exe C:\Users\serve>where pip3 C:\Users\serve\AppData\Local\Programs\Python\Python311\Scripts\pip3.exe C:\Users\serve>python -V Python 3.11.3 C:\Users\serve>pip -V pip 22.3.1 from C:\Users\serve\AppData\Local\Programs\Python\Python311\Lib\site-packages\pip (python 3.11)
このことからわかるように、Linuxのようにpython3とかpip3とかはつけずに、普通にpython, pipとやったほうがよい。python3とすると、Microsoft Storeアプリが起動されてしまい、そこから入れよと重複案内されてしまう。
2、最新版Visual Studio Communityのインストール
CUDAはVisual Studioのライブラリを使用するので、以下ページから
https://visualstudio.microsoft.com/ja/downloads/
Communityの「無料ダウンロード」を選択、VisualStudioSetup.exeでインストール実行。最新版2022で問題ない。インストール言語は、とりあえず最低限の「C/C++デスクトップ開発」のみで良い。
3、CUDA11.8.0のインストール
最新12.1.1はインストール中エラーになってしまった。なので11の最新11.8.0にした。
https://developer.nvidia.com/cuda-toolkit-archive
上記ページから「CUDA Toolkit 11.8.0 (October 2022), Versioned Online Documentation」→「Windows + x86_64 + 11 + exe (network)」を選択して「Download」、インストーラ実行。
Visual Studioのチェックが通れば、問題なくインストールは終了するはず。Nsight Visual Studio Edition Summaryを確認。
GeForce Experienseが起動され、再起動を促されれば再起動、ユーザー登録を促されればここでメールアドレス&パスワードで登録しておく。結局次のCUDNNのダウンロードで必要になるからだ。
4、CUDNN for CUDA11.8.0のインストール
必須となるプラグイン。以下アーカイブページ
https://developer.nvidia.com/rdp/cudnn-archive
から、今回インストールしたCUDA11.8に適合するかつ最新版「Download cuDNN v8.9.0 (April 11th, 2023), for CUDA 11.x」を選択、「Local Installer for Windows (Zip)」をダウンロード。
ダウンロードにはNVIDIA Developersのユーザ登録が必要なので登録してログインしていればダウンロード可能。
ダウンロードした「cudnn-windows-x86_64-8.9.0.131_cuda11-archive.zip」を右クリック「すべて展開...」して展開し、cudnn-windows-x86_64-8.9.0.131_cuda11-archiveフォルダ以下それぞれを、
binの中身を ↓ C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/binへコピー。 includeの中身を ↓ C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/includeへコピー。 lib/x64の中身を ↓ C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/lib/x64へコピー。
とします。
コマンドパスの確認
コマンドプロンプトを開いて、
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0 where nvcc C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe where cudnn64_8.dll C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\cudnn64_8.dll
とそれぞれ問題なければOK。
5、CUDA対応版Windows Pytorchのインストール
Windows版PyTorchでCUDA GPUを使えるようにする(torch.cuda.is_available()=Trueにする)にて詳しく説明しているが、URLを指定して専用のPytorchを入れないとCUDAは使えない。
コマンドプロンプトを開き、
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
とする。もしも入れたCUDAが11.7であるなら、上記URL末尾はcu117となるわけだ。
エラー無く入ったらそのままコマンドプロンプトでPython起動、PyTorch + CUDAの確認。
C:\Users\serve>python Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.cuda.is_available(); True >>> quit();
問題なし!お疲れ様でした!
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
Windowsのデスクトップ画面をそのまま配信するための下準備
WindowsでGPUの状態を確認するには(ASUS系監視ソフトの自動起動を停止する)
CORESERVER v1プランからさくらインターネットスタンダートプランへ引っ越しメモ
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Python】Spacyを使用して文章から出発地と目的地を抜き出す
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
Windows版Google Driveが使用中と言われアンインストールできない場合
VirtualBoxの仮想マシンをWindows起動時に自動起動し終了時に自動サスペンドする
【Apache】サーバーに同時接続可能なクライアント数を調整する
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【Linux】iconv/libiconvをソースコードからインストール
Ubuntu Server 21.10でイーサリアムブロックチェーン【その5】