はじめに
周りの方々がどんどんPyTorchいいぞ~って言いながら乗り換えていくなかで,Tensorflowが公式でTensorboardを使えるようにしてくれたの自分もでそろそろ乗り換えようと思いこの記事を書きました.
対象者
公式の
pip3 install torch===1.3.1 torchvision===0.4.2 -f https://download.pytorch.org/whl/torch_stable.html
で導入はできるけどこれpipenv install hogehoge
でやりたくねって人向け
なのでPythonの導入やCUDAの導入は特に書きませんのでそこを期待されている方はブラウザバックで!!
CUDAとか言ってるので今回はGPUに着目してやります.CPUのバージョンはやりません.
導入環境
- Windows 10 Pro for Workstations
- Nvidia Driver Version : 430.86
- CUDA : 10.0, V10.0.130
- cudnn : 7.6.2
Pipenvの導入
Pipenvってどんなのと思った方はこのあたり(1)を見てもらえるとよろしいかと.個人的な解釈ではSwiftで使われているCocoaPods(2)と管理の仕方が近いと思っています.
では,インストールの前にpipを最新のバージョンに上げておきます.
pip install --upgrade pip
そしてPipenvのインストールですね
pip install pipenv
これでOKです.簡単ですね
(1) Pipenv: 人間のためのPython開発ワーク
(2) CocoaPods
PyTorchの導入
さてここからが問題なのですがWindowsだと
pipenv install torch torchvision
だけだと
'ERROR: Could not find a version that satisfies the requirement torch==1.3.1
こんな感じのエラーが返ってきちゃってうまくいかなんですよね・・・
なので
pipenv install [URL]
の形で導入していきます!
ちなみにPipのオプションで--find-links
があるんですがPipenvにはないそうです(3)
(3) --find-links (or similar) in PipEnv #2231
URLを探しに行く
PyTorchの公式サイト(4)に行くと
こんな感じでダウンロードできるとこありますよね
今回注目するのは
https://download.pytorch.org/whl/nightly/cu101/torch_nightly.html
ここの部分です.実際にアクセスすると
PyTorchのライブラリがたくさん置いてあるのでこの中から選んでいきます.
一応なんですが欲しいのはURLなので欲しいバージョンがあったら右クリックして[リンクのアドレスをコピー]とかしてもらえればURLが取得できるかと.
あと古いバージョン欲しいんじゃい!!って方は
https://download.pytorch.org/whl/torch_stable.html
こっちのURL踏んで探してもらったほうが幸せになれるかと
今回自分は
torch: "https://download.pytorch.org/whl/nightly/cu101/torch-1.4.0.dev20191202-cp37-cp37m-win_amd64.whl"
torchvision: "https://download.pytorch.org/whl/nightly/cu101/torchvision-0.5.0.dev20191203-cp37-cp37m-win_amd64.whl"
をとってきてます.
さて,あとは
pipenv install https://download.pytorch.org/whl/nightly/cu101/torch-1.4.0.dev20191202-cp37-cp37m-win_amd64.whl
pipenv install https://download.pytorch.org/whl/nightly/cu101/torchvision-0.5.0.dev20191203-cp37-cp37m-win_amd64.whl
すれば良しなにPipenv君が頑張ってくれます.
(4) PyTorch
導入できたかの確認
Pipenvはできた!!!でも動作確認もしないとですね!
pipenv run python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name())"
魔法の一行です気にしないでください.(普通に他のもので確認していただいてもOKです)
返ってくる値としては
True
TITAN RTX [搭載されているGPUによって変わる]
と返してくれればここで一安心です.
あとはpipenv shell
でやろうがpipenv run
でやろうがお好きなままに・・・
最後に
今回はWindows10 + PipenvでPytorch(GPU)の導入方法について記事を書きました.
正直自分がはまってpipで入れたくない一心で探してたので正確かどうかはわかりません.
設定したPipfileはGitHubに置いておくので,おとしてpipenv install
して動かしてみてください.
リファレンス
(1) Pipenv: 人間のためのPython開発ワーク
(2) CocoaPods
(3) --find-links (or similar) in PipEnv #2231
(4) PyTorch