LoginSignup
3
2

More than 3 years have passed since last update.

WindowsでPyTorch 1.5をCUDA 10.2向けにビルドする手順

Last updated at Posted at 2020-03-04

Windows 10でPyTorch 1.5をCUDA 10.2向けにビルドする手順をのせておきます。(2020/3/1時点)
PyTorchと併せてよく使われるtorchvisionのビルド手順も含んでいます。
ここでは細かい説明は省略しているので、もう少し細かい説明が必要な場合はBlog - dev.infohub.ccも参考にしていただければと思います。

ビルド環境

  • ハードウェア
    • CPU: AMD Threadripper 3960X
    • GPU: nVIDIA TITAN RTX
  • ソフトウェア
    • Windows 10 Pro Version 1909 (x64)
    • Microsoft Visual Studio Community 2019 – Ver 16.4.5
    • Git for Windows(gitコマンドが使えれば何でもOK)
    • Python 3.8.2(AnacondaではなくPython.orgの方)
    • CUDA 10.2
    • cuDNN 7.6.5
    • Intel MKL 2019.0(AMDのCPUだけど強制的にMKLを使用)

環境変数などの設定

  • MKL_DEBUG_CPU_TYPE=5 (AMD系CPUでMKLを使うための設定)
  • 他CUDA等へのPATHが通っていること

PyTorch、torchvisionのビルド

Visual Studio 2019のx64 Native Tools Command Prompt for VS 2019を開いて以下の手順で作業を行います。(説明はコメント形式で載せています)

# ビルド用の仮想環境(build_pt)作成
python -m venv g:\work\build_pt
g:\work\build_pt\Scripts\activate.bat
cd /d g:\work\build_pt

# パッケージなどの更新
python -m pip install --upgrade pip

# ビルドに必要なパッケージの導入
pip install numpy ninja pyyaml mkl mkl-include cmake cffi wheel

# ソース取得
# 本家サイトの手順とは違って、サブモジュールは後から取得する
git clone https://github.com/pytorch/pytorch
cd pytorch

# 2020/03/01 13:24 時点の状態に切り替え(今回試した最新の状態)
git checkout ace2b4f

# サブモジュールの取得
git submodule sync
git submodule update --init --recursive

# ビルド(Threadripper3960Xで18分くらい)
python setup.py install

# wheelパッケージ作成(pipでwheelを入れておく)
# G:\work\build_pt\pytorch\dist に「torch-1.5.0a0+ace2b4f-cp38-cp38-win_amd64.whl」が作成される
python setup.py bdist_wheel

# ---- ここからtorchvisionのビルド ----------------------------------

# 親フォルダ(g:\work\build_pt)に移動
cd ..

# torchvisionのビルドに必要な追加パッケージの導入
pip install six pillow

# torchvisionでCUDAが使われるかどうかの確認
# この結果がTrueならCUDAが使われる(強制的に使うようにビルドすることも可能。詳細はtorchvisionのページを参照)
python -c "import torch; print(torch.cuda.is_available())"

# torchvisionのソースコード取得
git clone https://github.com/pytorch/vision.git
cd vision

git checkout b2e9565

# ビルド(数分くらい)
python setup.py install

# wheelパッケージの作成
python setup.py bdist_wheel

これでdistフォルダにPyTorchとtorchvisionのwheelファイル(*.whl)が作成されます。

利用環境への導入

ビルドしたPyTorchとtorchvisionのwheelパッケージを、個別の仮想環境に導入する手順です。
ビルド用のフォルダはディスク容量をかなり使うので、実際にPyTorchなどを利用する環境と、ビルド用の仮想環境は分けておくと便利です。
ここでは、c:\venvs\配下にmlという仮想環境を作成する想定です。
通常のコマンドプロンプトから実行すればOKです(Visual StudioのコンソールでなくてOK)

# 仮想環境(ml)作成
python -m venv c:\venvs\ml
c:\venvs\ml\Scripts\activate.bat
cd /d c:\venvs\ml

# パッケージなどの更新
python -m pip install --upgrade pip

# PyTorchとtorchvisionの導入(依存パッケージも)
# PyTorchとtorchvisionのwhlファイルは上記で作成したファイルを指定
pip install numpy mkl six pillow
pip install "torch-1.5.0a0+ace2b4f-cp38-cp38-win_amd64.whl"
pip install "torchvision-0.6.0a0+b2e9565-cp38-cp38-win_amd64.whl"

これで、CUDA 10.2向けのPyTorch 1.5.0a0環境作成が完了です。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2