絶対に失敗しない誰でもできるPyTorchの導入手順

自宅のPCにPython+PyTorchをインストールしたので、その手順を記録に残しました。

python 3.7.4

ここからダウンロード。
https://www.python.org/downloads/release/python-374/
Windows x86-64 executable installer
(間違えて32bit版をインストールしないように注意!)

インストールすると
C:\Users\<ユーザー名>\AppData\Local\Programs\Python\Python37
にファイルが展開される。
python.exeScripts\pip.exe を使えるようにパスを通しておくと良い。

pipはpython用のインストーラー。

PyCharm

pythonのIDE。
ここからCommunityをダウンロード。
https://www.jetbrains.com/pycharm/download/#section=windows

インストールしたら、適当なフォルダを作ってPyCharmでプロジェクトを作る。
File > Settings から、 Project:project > Project Interpreter を選択。
上部セレクトボックスを開いてShow Allを選択。
+ボタンを押す。
System Interpreterを選んでOKを押す。
これでpythonコードを実行できるようになる。

CUDA

CUDAはPyTorchに同梱されているので別途インストールする必要はありません。
別途インストールしたとしてもPyTorchの実行時には利用されません。
以下の手順は実行する必要はありませんが、参考程度に過去に書いたものを残しておきます。

GPUを使って並列計算するためのライブラリ群(?)。
具体的に何なのか完全には把握していないが、とにかくPyTorchでの計算を高速化するために必要なので導入する。

まず自分のGPUがCUDAに対応しているかチェック。
https://developer.nvidia.com/cuda-gpus
自分の環境ではGeForce GTX 1070なので、"CUDA-Enabled GeForce and TITAN Products"のところを開いてGeForce GTX 1070を見つけた。

CUDA 10.1をダウンロードする。
https://developer.nvidia.com/cuda-downloads
Windows, x86_64, 10, exe(network)を選択。

現在インストールされているNVIDIA関連のアプリケーションを全てアンインストールする。
いきなりアンインストールするとおそらく画面表示に支障をきたすので、予めディスプレイドライバーをWindows標準ドライバに変更しておく。
デバイスマネージャー > ディスプレイアダプター > NVIDIA GeForce GTX 1070 を右クリック。ドライバーの更新をクリック。
「コンピューターを参照して~」を選択。
「コンピューター上の利用可能な~」を選択。
Microsoft 基本ディスプレイアダプターを選択。

アンインストールしたら、先程ダウンロードしたCUDAをインストールする。
これでアンインストールしたドライバ類も再びインストールされるはず。

参考: CUDA Toolkit 10.0 インストール手順
参考: CUDA9.1のインストールでハマった話(NVIDIAインストーラーが失敗しました/Visual Studio Integration)

PyTorch

pythonの機械学習ライブラリ。

https://pytorch.org/
このページにアクセス。
自分の環境に合った設定を選んで、Run this Commandの内容をコピー。
今回はStable, Windows, Pip, Python3.7, 10.0でインストール。

pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp37-cp37m-win_amd64.whl
pip3 install https://download.pytorch.org/whl/cu100/torchvision-0.3.0-cp37-cp37m-win_amd64.whl

pipのアップグレードが必要な場合、アップグレードのコマンドを実行。

python -m pip install --upgrade pip

確認

pythonコマンドでtorchとcudaが利用できるか確認。import torchでエラーが出ず、torch.cuda.is_available()Trueなら両方利用できる状態になっている。

python
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.is_available())
True

これで環境構築まで完了。
使用例はまた後日記事にする予定。