Windows10でPyTorchをインストールしてVSCodeで使う

以前はWindows 10でディープラーニングするのに、AnacondaでPython環境を作ってTensorFlowを使ってVisual Studioでコーディングしてたけど、



最近はだいぶ状況が変わってきた。

Anacondaでnumpyが動かなくなったり、使いたいパッケージ(のバージョン)がcondaで入らなかったりで、そもそもAnacondaのメリットよりもデメリットで時間を取られることが増えた。(それはMinicondaでも同じ)
なので、Pythonは普通に公式のインストーラーでWindowsにインストールすることにした。

コーディング環境についても、VSCode(Visual Studio Code)が優秀だと気づいた。
VSCodeはIDEじゃなくてエディタなんだけど、Extensionをインストールして機能拡張はできる。オイラがIDEの方のVisual Studioを使っていた理由の8割ぐらいはIntelliSense(コード補完機能)だったので、同じくIntelliSenseが載っているなら動作も軽いVSCodeの方が快適なのでした。

そして、ディープラーニングのライブラリはTensorFlowからPyTorchへ乗り換えつつある。
理由はそんなにハッキリとしたものじゃないんだけど、最近は発表される論文と一緒に公開されるソースコードにPyTorch実装のものが増えている点と、対応する依存関係(CUDAのバージョンとか)のアップデートの早さとか。最近やっとバージョン1に達して、身近な人達がどんどんPyTorchへ移行しているというのもある。


スポンサーリンク


ということで、今現在のオイラの環境は以下↓

一応、インストール手順もメモしておく。

PyTorch 1.0.1は現時点で最新のCUDA Toolkit 10.1とcuDNN v7.5に対応しているのであんまり気にしなくて良いけど、この手のライブラリのバージョンの依存関係は間違えるとエラー地獄にはまるのでインストール前にしっかり確認した方が良いです。(何度かハマった)

追記:PyTorchとtensorboardXを一緒に使いたい場合は、TensorBoard(というかTensorFlow)の動作環境にも合わせてやる必要があります。
https://www.tensorflow.org/install/gpu

CUDAとcuDNNのインストール

CUDAの公式ページからCUDA Toolkit 10.1のインストーラーをダウンロードしてインストール。
cuDNN v7.5.0 (Feb 25, 2019), for CUDA 10.1は、まずMembership登録してログインし、cuDNN一式のzipをダウンロードする。
そしてzipを展開して出てきたbin, include, libディレクトリを丸ごとCUDAのパスが通ったディレクトリに配置する。オイラはいつもCUDAデフォルトのインストールパスに一緒に突っ込んでいる↓

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

ところで、cuDNNってCUDA Deep Neural Network libraryの略なんですね。


スポンサーリンク

Pythonのインストール

Pythonはバージョン3.6を使う。公式ページからPython3.6.8のWindows x86-64 executable installerをダウンロードしてきて実行するだけ。
インストールパスだけデフォルトから以下に変えておいた。

C:\dev\Python36

PyTorchのインストール

PyTorchは、公式ページのSTART LOCALLYで自分の環境を選ぶと適切なpipのコマンド表示されるので、それを叩けばインストールできる↓



ということで、以下のコマンドをコマンドプロンプトで実行するだけでPyTorchのインストール完了↓

pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.1-cp36-cp36m-win_amd64.whl
pip3 install torchvision

VSCodeのインストール

VSCodeは公式ページからWindows用のインストーラーをダウンロードしてインストール。
そして日本語の言語パックPython用のExtensionもインストールする。

これでPyTorch環境は整ったので、あとは適当なサンプルコードがちゃんと実行できることを確認してみよう。
GitHubにPyTorch公式のサンプルコードがある↓
https://github.com/pytorch/examples

Basic MNIST Exampleとかが手軽で良いんじゃないでしょうか。
サンプルが実行できたらとりあえずOKだ。

PyTorchの習得

PyTorch公式サイトのサンプルで学ぶPyTorchや、
https://pytorch.org/tutorials/beginner/pytorch_with_examples.html
https://pytorch.org/tutorials/beginner/former_torchies/nnft_tutorial.html

PyTorch公式でチートシートを用意してくれているので、そこを見ると習得が速いかも。
チートシートの内容を画像化して公開している人もいる↓

PyTorch Cheat Sheet

小技集をJupyter Notebookにまとめている方もいる↓
https://github.com/bfortuner/pytorch-cheatsheet/blob/master/pytorch-cheatsheet.ipynb

あとは、torchvisionに有名な畳み込みニューラルネットワークが実装されているので、それを読むと真似しやすいかも↓
https://pytorch.org/docs/stable/torchvision/models.html


スポンサーリンク

関連記事

機械学習に役立つPythonライブラリ一覧
OpenCVで顔のモーフィングを実装する
WordPress on Google App Engineを1週間運用してみて
定数
Unreal Engineの薄い本
オープンソースの物理ベースGIレンダラ『appleseed』
頭蓋骨からの顔復元と進化過程の可視化
Model View Controller
OpenCVのバージョン3が正式リリースされたぞ
オープンソースのPhotogrammetryフレームワーク『Alice Vision』
OpenCV3.3.0でsfmモジュールのビルドに成功!
RSSフィードを読込んで表示するWordpressプラグイン『RSSImport』
OpenCV 3.1から追加されたSfMモジュール
takminさんが機械学習・画像認識の便利ツールを公開しています
Googleが画像解析旅行ガイドアプリのJetpac社を買収
ブログが1日ダウンしてました
OpenCVで平均顔を作るチュートリアル
AfterEffectsプラグイン開発
機械学習での「回帰」とは?
インタラクティブにComputer Visionコーディングができるツール『Live CV』
OpenCV バージョン4がリリースされた!
Web経由でRaspberry PiのGPIOを操作したい
Raspberry PiでIoTごっこ
Mean Stack開発の最初の一歩
HerokuでMEAN stack
3Dグラフィックスの入門書
1枚の画像からマテリアルを作成できる無料ツール『Materialize』
WordPressのテーマを自作する
Pix2Pix:CGANによる画像変換
オープンソースの顔の動作解析ツールキット『OpenFace』
まだ続くブログの不調
マルコフ連鎖モンテカルロ法
Pythonのソースコードに特化した検索エンジン『Nullege』
SegNet:ディープラーニングによるSemantic Segmentation手法
UnityでTweenアニメーションを実装できる3種類の無料Asset
WebGL開発に関する情報が充実してきている
書籍『仕事ではじめる機械学習』を読みました
SONYの自律型エンタテインメントロボット『aibo』
.NETで使えるTensorFlowライクなニューラルネットワークライブラリ『NeuralNetwo...
CGレンダラ研究開発のためのフレームワーク『Lightmetrica (ライトメトリカ)』
チャットツール用bot開発フレームワーク『Hubot』
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』

コメント