目的
windows環境で機械学習を学ぶ
- 仮想環境化での環境構築は避けたい
- 無料
- 計算用のマシンではGPUをバックエンドに利用する
- Bash on Ubuntu on Windowsさえ使わない
最初はできる限りプレーンな環境が欲しいのです.
結果
- 実現できた
- 思った以上にたくさんのソフトウェア・ライブラリのインストールが必要だった
- 各種ソフトのバージョン依存にハマった
以下の環境で安定動作
item | version |
---|---|
python | 3.5.3 |
CUDA | 8.0 |
cuDNN | 5.1 for 8.0 |
Visual Studio | community 2015 update1 |
chainerのサンプル(chainer/examples/mnist/train_mnist.py)をそのまま使って処理時間のベンチマークとして比較.
デフォルトのまま20epoch回した際の経過時間(elapsed_time)を手持ちの環境で比較した.
用途 | 名称 | CPU | ベンチマーク |
---|---|---|---|
モバイル | GODWIN | Atom Z8700 | 1.5h |
ノート | Lenovo X250 | i5 | 15m |
デスクトップ | 自作 | i5 | 15m |
〃 | GPU利用 | GT 730 | 3m |
〃 | GPU更新 | GTX 1080ti | 1m |
奮発して1080ti買ったものの,当面勉強用途なのでGT730で十分だった orz.
それと,出先でもGPUマシンをGUI操作できるGPDWINの存在がありがたい.
python環境
python
python 3.6系環境下ではtensorflow 1.01が動かなかった
公式サイトからDLした3.53(x64)で安定
その他の汎用的なライブラリは以下手順
> python -m pip install --upgrade pip
> python -m pip install --upgrade -I setuptools
> python -m pip install ipython
> python -m pip install numpy
> python -m pip install pandas
> python -m pip install matplotlib
機械学習ライブラリ
tensorflow
得に苦労なし
> python -m pip install tensorflow
GPU強化したマシンでは
> python -m pip install tensorflow-gpu
chainer
CPU動作させるぶんには特に苦労なし
> python -m pip install chainer
マシン別の処理性能比較のためにMNISTのサンプルを使ってみた.
こいつをGPUで動かすためはVSのインストールが必要となりハマる羽目に.
sklearn
つまづいた.
numpy+mklとscipyが必要
オンラインでのpipインストールでは利用ができなかったのでそれぞれ.whlをダウンロード
> python -m pip install "numpy-1.12.1+mkl-cp35-cpm35-win_amd64.whl"
> python -m pip install "scipy-0.19.0-cp35-cp35m-win_amd64.whl"
> python -m pip install sklearn
sklearnはSVMのお試し実装に利用.
GPUの利用
CUDA
8.0がリリースされていたので使っている.
cuda_8.0.61_win10.exe
cuDNN
ダウンロードするのにアカウントの作成が必要.
業務利用チックに利用目的申告してたらすぐアカウント発行してくれた.
v6.0 for CUDA 8.0が出てたがNG.
cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0 を利用.
実体は単なるCUDA経由で利用するDLLモジュールの様なので見えるところに置いておけばOK.
CUDAインストール時にパスを通してくれた
"\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
に入れておいた.
GPUを使ってtensorflowチュートリアルからmmist_with_sumaries.pyなど走らせてみると
"cupti64_80.dll"が見ないと怒られる事があるので
"\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64"
にも追加でパスを通してあげなければならなかった.
その他
##VisualStudio
chainerサンプルの動作にCUDAだかcuDNNだかからコンパイラを利用しに行くのでインストールした.
VS 2015 community update1で安定.
超ハマった.
2015 update2以降はCUDAから利用できない.
VS 2013 community で十分なのかも.
そもそもVS公式はすでに2017一色.過去バージョンへのリンクが見当たらない
Visual Studio Community 2015 with update 1 (.iso)
サンプルのダウンロード
Git
github.ioからgit for windows 2.12.2(2)をDLして利用
MNISTサンプル
> git clone https://github.com/tensorflow/tensorflow.git
> cd tensorflow\tensorflow\examples\tutorials\mnist
> python mnist_softmax.py
chainerサンプル
> git clone https://github.com/pfnet/chainer.git
> cd chainer/examples/mnist/train_mnist.py
> python train_mnist.py
octave
v4.2.1(x64)
お試しのベクトル・行列演算と結果の可視化に重宝.
Coursera Machine Learningを受講したら便利さを体感した.
動作原理の確認のためにわざわざコードなんて書いていられない.
MATLABの代わり.
v4.0.0は避けるように言われてる.