以前は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へ移行しているというのもある。
ということで、今現在のオイラの環境は以下↓
- Windows10 Pro
- CUDA Toolkit 10.1
- cuDNN v7.5.0 (Feb 25, 2019), for CUDA 10.1
- Python 3.6.8
- PyTorch 1.0.1
- VSCode
一応、インストール手順もメモしておく。
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に特化したIDEもある↓

PyTorchの習得
PyTorch公式サイトのサンプルで学ぶPyTorchや、
https://pytorch.org/tutorials/beginner/pytorch_with_examples.html
https://pytorch.org/tutorials/beginner/former_torchies/nnft_tutorial.html
PyTorch公式でチートシートを用意してくれているので、そこを見ると習得が速いかも。
チートシートの内容を画像化して公開している人もいる↓
小技集をJupyter Notebookにまとめている方もいる↓
https://github.com/bfortuner/pytorch-cheatsheet/blob/master/pytorch-cheatsheet.ipynb
あとは、torchvisionに有名な畳み込みニューラルネットワークが実装されているので、それを読むと真似しやすいかも↓
https://pytorch.org/docs/stable/torchvision/models.html
追記:PyTorch専用IDEも登場してる↓

関連記事
GoogleのDeep Learning論文
オープンソースのロボットアプリケーションフレームワーク『RO...
UnityでTweenアニメーションを実装できる3種類の無料...
OpenCVの三角測量関数『cv::triangulatep...
Model View Controller
TeleSculptor:空撮動画からPhotogramme...
UnityのGameObjectの向きをScriptで制御す...
書籍『OpenCV 3 プログラミングブック』を購入
書籍『ROSプログラミング』
Mechanizeで要認証Webサイトをスクレイピング
今年もSSII
UnityのTransformクラスについて調べてみた
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
データサイエンティストって何だ?
仮想関数
iPhoneアプリ開発 Xcode 5のお作法
Transformer Explainer:テキスト生成モデ...
VCG Library:C++のポリゴン操作ライブラリ
機械学習に役立つPythonライブラリ一覧
FCN (Fully Convolutional Netwo...
ブログをGoogle App EngineからAmazon ...
OpenCVのfindEssentialMat関数を使ったサ...
AR (Augmented Reality)とDR (Dim...
物理ベースレンダリングのためのマテリアル設定チートシート
まだ続くブログの不調
Physics Forests:機械学習で流体シミュレーショ...
MPFB2:Blenderの人体モデリングアドオン
hloc:SuperGlueで精度を向上させたSfM・Vis...
PythonでMayaのShapeノードプラグインを作る
Manim:Pythonで使える数学アニメーションライブラリ
MB-Lab:Blenderの人体モデリングアドオン
1枚の画像からマテリアルを作成できる無料ツール『Materi...
Swark:コードからアーキテクチャ図を作成できるVSCod...
PeopleSansPeople:機械学習用の人物データをU...
CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...
MLDemos:機械学習について理解するための可視化ツール
画像生成AI Stable Diffusionで遊ぶ
Pylearn2:ディープラーニングに対応したPythonの...
OpenCV 3.1のsfmモジュールのビルド再び
Live CV:インタラクティブにComputer Visi...
Mask R-CNN:ディープラーニングによる一般物体検出・...
Polyscope:3Dデータ操作用GUIライブラリ



コメント