Deep Learningを扱うにあたって私が使うフレームワークはpytorchです。ほかのフレームワークと比べてどんな特徴があるのか、なんかもそのうち調べていきたいと思いますが、今はこれ以外知りませんのでまずは動かせるところまでもっていきます。
pytorchの公式チュートリアルはここにあります。ここの項目を順次勉強していきます。とはいっても、pythonもほぼ素人ですのでコードの意味を読み解きつつ、将来的には自分でちゃんとネットワークを組めるようにしたいです。
PyTorchってなんだ?
ということで、チュートリアルの導入に当たる「WHAT IS PYTORCH?」からはじめていきます。
PyTorchとはPythonベースの科学計算用のパッケージで、以下の2つの特徴があるそうです。
- GPUのパワーを使うためにnumpyの代わりに使用する
- ディープラーニングの研究のためのプラットフォームで、最大のフレキシブルさと速度を持つ
CPUではなくGPUで処理を行うために開発されたものだということですね。
ちなみに、GPUとはいわゆるグラフィックボードのこと(私はこれまでゲーム用途でしか知りませんでした……)。行列演算にはCPUよりも適しているそうです。
ディープラーニングは基本、行列演算なので、画像の取り扱いを主眼に作られたGPUはぴったりなんだろうと。
PyTorchはテンソルというデータ形式で処理を行います。
テンソルはnumpyのndarrayに似た作りで、GPU上で処理できるようになっています。
ndarrayというのは、n-dimential arrayのことで、直訳すると「n次元配列」。任意の次元の行列の配列を作れて、ndarrayを使うと効率よく処理を行えるらしいです。
ただし、データ型(intとかfloatとか)は配列内で統一させなくてはいけません。
PyTorchインストール
次回、テンソルを作ってみるとして、とりあえずはPyTorchを使えるように、インストールだけしておきます。
pip install torch, torchvision
ちなみに、私のマシン環境はpython3.5で、anacondaが入っています。
その他のライブラリは動かして怒られたら入れていく方針です。
環境を作るのも大変だったので、環境設定周りもいずれ、まとめておこうと思います。