CUDA

PyTorch 1.0 with CUDA 10.0 環境をWindowsで構築する方法

PyTorch

Deep Learningの世界では、TensorFlow+Kerasが有名ですが、PyTorchも急速にシェアを伸ばしてきています。ここでは、Windows 10に、CUDA 10.0を利用するPyTorchの環境を作成する方法を載せておきます。

有名どころのTensorFlowもPyTorchの影響を少なからず受けていると思われます。
TensorFlow 1.x系は実行速度や最適化に有利な「Define and Run」という方式を採用していますが、TensorFlow 2.0ではPyTorchなどが採用している「Define by Run」がデフォルトになっています。

事前準備

CUDA 10.0を使ってPyTorchを動かすためには、以下の環境が必要になります。

PyTorchのインストールコマンド

PyTorchのサイトで利用環境を選択すれば、自動でインストールコマンドが表示されます
今回は、Python 3.6.8を使ってpipコマンドで導入を行うため、以下のような構成にしています。(なお、本家ではAnacondaやMinicondaのCondaを奨めていますが、Condaは独自仕様だったりするので、今回はpipを使っています)

PyTorchのインストールコマンドを生成

PyTorchの環境作成

コマンドプロンプトで以下のコマンドを実行し、PyTorchの環境を作成していきます。
今回は仮想環境をC:\venvs\pytorchに作成して、PyTorchを導入しています。

rem 仮想環境を作成
python -m venv c:\venvs\pytorch

rem 仮想環境を有効化
c:\venvs\pytorch\Scripts\activate.bat

rem pipのアップデート(任意)
python -m pip install --upgrade pip

rem pipを使う場合は事前にnumpyをインストールする
pip3 install numpy

rem PyTorchのサイトで表示されたインストールコマンド
pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1-cp36-cp36m-win_amd64.whl
pip3 install torchvision

 

これでPyTorchの環境作成が完了です。
導入されたパッケージは以下のようになります。

rem 導入されたパッケージ
> pip list
Package     Version
----------- -----------
numpy       1.16.2
Pillow      6.0.0
pip         19.0.3
setuptools  40.6.2
six         1.12.0
torch       1.0.1
torchvision 0.2.2.post3

 

PyTorchの動作確認

PyTorchが正しく導入されているか、次のコマンドで確認できます。

rem PyTorchのバージョン確認
> python -c "import torch; print(torch.__version__)"
1.0.1

rem PyTorchの動作確認(公式サイトの内容)
> python -c "from __future__ import print_function; import torch; x = torch.rand(5, 3); print(x)"
tensor([[0.9439, 0.5208, 0.2050],
        [0.9770, 0.7954, 0.2221],
        [0.6932, 0.9077, 0.3789],
        [0.5988, 0.5163, 0.0185],
        [0.5057, 0.3690, 0.5125]])

rem CUDAが利用可能かどうかの確認(TrueならCUDAが利用可能)
> python -c "import torch; print('CUDA:', torch.cuda.is_available())"
CUDA: True

 

後は、Jupyter Labなど好きなパッケージを導入して利用してください。