機械学習の環境づくり平成31年4月ver
季節が巡ってPCも色々変わったので改めて機械学習の環境づくり。
平成が終わる前にやりたかっただけ。
バージョン上がるのが本当に早いので要注意。
去年の記事はほぼ役にたたなくなっていたので更新ではなく新しい記事にした。
ただ前回よりも状況は良くなっているようで、特に難しいとは感じなかった。
Python 3.7.3 + Anaconda 2019.03 + CUDA10.1 + cupy6.0.0rc1 + Chainer6.0.0rc1
0. VisualStudioCommunity2017および2019インストール済みの環境
MSVC v142 – VS 2019 C++ x64/x86 ビルド ツール (v14.20)、
MSVC v141 – VS 2017 C x64/x86 ビルド ツール (v14.16)、
MSVC v141 – VS 2017 C++ x64/x86 Spectre 軽減ライブラリ (v14.16)、
などがインストールされた環境。
1. Anaconda公式から最新版をインストール
Pathに登録するように設定。
それ以外はとくにいじらず。
前回はアップデート関係のトラブルがあったが今回はすんなり入った。
2. CUDA(当時最新版10.1)を公式からインストール
高速インストールで特に設定せずに入れた。
4. cuDNNのインストール
開発者登録して以下からダウンロード
Deep Learning Software | NVIDIA Developer
解凍して出てきたcudaフォルダの中身を以下にコピー (bin, include, lib)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
5. cupy, Chainer, opencvのインストール
管理者権限のPowershellから以下を実行。
python -m pip install --upgrade pip pip install ipykernel pip install cupy-cuda101==6.0.0rc1 pip install opencv-python git clone https://github.com/chainer/chainer.git cd chainer pip install .
6. 環境のテスト
cupyのテスト
git clone https://github.com/cupy/cupy
cd cupy/examples/kmeans
python ./kmeans.py
CPU : 10.740523 sec
GPU : 0.755733 sec
chainerのテスト
git clone https://github.com/chainer/chainer.git cd chainer/examples/mnist python train_mnist.py GPU: -1 # unit: 1000 # Minibatch-size: 100 # epoch: 20 epoch main/loss validation/main/loss main/accuracy validation/main/accuracy elapsed_time 1 0.191485 0.093776 0.94235 0.9706 13.8266 2 0.0730379 0.0719899 0.977383 0.9785 27.3778 3 0.0470612 0.0767688 0.9848 0.9751 40.7138 4 0.035586 0.0811157 0.988017 0.9771 57.2792 5 0.0282599 0.0762014 0.990567 0.9791 70.6485 6 0.0224677 0.0940598 0.992667 0.9732 84.2787 7 0.0213568 0.113709 0.992733 0.974 97.7589 8 0.0200573 0.0721318 0.993683 0.9827 111.822 9 0.0177061 0.0788107 0.994133 0.9812 125.633 10 0.014575 0.0848092 0.9954 0.9804 139.365 11 0.0109873 0.109093 0.996367 0.9778 153.069 12 0.0159875 0.0789957 0.994767 0.9821 166.925 13 0.00998175 0.104576 0.996883 0.9796 180.697 14 0.012426 0.10348 0.9964 0.9808 194.475 15 0.00852416 0.0854647 0.997783 0.983 208.257 16 0.0154495 0.0836159 0.995467 0.9847 222.253 17 0.011154 0.0924353 0.99665 0.9818 236.376 18 0.00941916 0.105031 0.997183 0.9819 250.512 19 0.00950466 0.106474 0.99715 0.9813 264.807 20 0.00912466 0.100974 0.9974 0.9828 279.043 python train_mnist.py -g 0 Device: <GpuDevice (cupy):0> # unit: 1000 # Minibatch-size: 100 # epoch: 20 epoch main/loss validation/main/loss main/accuracy validation/main/accuracy elapsed_time 1 0.191097 0.0972043 0.941284 0.9695 4.3701 2 0.0746888 0.0762293 0.976865 0.9751 6.98387 3 0.050018 0.0724256 0.983749 0.9775 9.43813 4 0.0369702 0.0728462 0.987899 0.9796 11.968 5 0.0285598 0.0773089 0.990782 0.9781 14.4349 6 0.023211 0.0639054 0.992449 0.9823 17.0077 7 0.020715 0.0803587 0.993365 0.9781 19.5726 8 0.0204158 0.0696111 0.993365 0.9827 22.0429 9 0.0171625 0.0759339 0.994682 0.9843 24.6557 10 0.0125583 0.139195 0.996199 0.9689 27.125 11 0.014267 0.0923551 0.995682 0.9802 29.574 12 0.0147518 0.086596 0.995549 0.9821 32.0337 13 0.0115162 0.0816954 0.996632 0.9834 34.4981 14 0.0114312 0.0863646 0.996516 0.983 37.0515 15 0.0124788 0.0827622 0.996199 0.9838 39.5018 16 0.00883767 0.109186 0.997066 0.982 42.0396 17 0.00920252 0.122703 0.997166 0.9818 44.5946 18 0.0101556 0.0885414 0.996915 0.984 47.0574 19 0.0112602 0.10041 0.997066 0.9808 49.5251 20 0.0094111 0.120821 0.997465 0.9798 51.9911
無事動作を確認できた。