巷で機械学習がはやっていて、何かやってみたいなとは思うもののかなり敷居が高くてなかなか手を出せずにいました。
ですが、やっとTensorFlowがwindowsに対応&CUDAも使えるってことなのでちょっとインストールして試してみようかなと思います。
TensorFlow 0.12 が Windows をサポート
Nvidaのライブラリを入れる
ちょうど、使っているPCのグラフィックボードがGeforceなのでCUDAも使ってみようと思います。
python -m tensorflow.models.image.cifar10.cifar10_trainCUDAを使うとだいぶ早くなるらしいので期待が持てます。
CUDAを使うには下記の2つが必要のようです
CUDA 8.0 https://developer.nvidia.com/cuda-downloads
cuDNN 5.1 https://developer.nvidia.com/cudnn
CUDAのほうはプラットフォームを選択してダウンロード&実行するだけでOK。
とりあえず、VisualStudio用のsampleがあるので、もしインストール済みであれば試しにビルドしてみるよ良いかと思います。
※DirectX系のやつは別途DirectX SDKを入れないとダメの模様。
cuDNNのほうはNVIDIAのAccelerated Computing Developer Programってのに登録しないとダメみたい。
登録がなかなかできないという情報がありましたが、特に問題なくすぐ登録できました。
登録時とダウンロード時にアンケートに答える必要がありますが、まぁ見ればわかると思います。
CUDAのバージョンごとに違うようでしたのでCUDA8.0用の
cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0 の cuDNN v5.1 Library for Windows 10
を選んでダウンロードしました。
インストーラーは特になく、ヘッダファイルやライブラリファイルがあるだけでした。
パスが通っていればいいだろうということで、CUDAのインストール先の
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
に入れておきました。
Phytonをインストール
正直言ってPhytonは初心者です。使うとしてもだいたいLinux環境なのでWindowsでの環境構築は初めてだったりします。
環境を切り替えたりできるものがあったり、いろいろ方法があるらしいですが今回はオーソドックスな公式の方法で行こうと思います。
https://www.python.org/downloads/windows/
取り合えず今現在最新の安定板の3.5.3にしました。
インストーラーを起動して
“Add Python3.5 to PATH”にチェックを付けて、”Customize installation”.
オプションはとりあえず全部にしときました。
インストール終了後、コマンドプロンプトでバージョン表示できれば成功です。
c:\>python -V
Python 3.5.3DeepLerning
TensorFlowのインストール
いよいよ本番のTensorFlowです。
インストール方法については公式サイトを参考にしました。
公式サイトの方法なので、インストールコマンドは下記になります。
C:\> pip3 install --upgrade tensorflow-gpu
が、ここで注意点がいくつか。コマンドプロンプトを管理者権限で起動しないとインストールに失敗しました。
※全ユーザーで使える設定にしたからかな?
TensorFlowの動作確認
これも公式サイトにあるものです。コマンドプロンプトを立ち上げて
C:> python
>>> import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
を打ち込んで
Hello, TensorFlow!
と表示されればOK。
機械学習をさせてみる(CIFAR-10)
では実際に機械学習をさせてみます。
TensorFlowチュートリアルにCIFAR-10という10種類の画像6000*10枚の画像を使った画像認識のプログラムがあります。
こちらを試してみます。
公式の説明ページはこちらになるようです。
どうも、本体のリポジトリからは分離されたようで、CIFAR-10プログラム本体は現在はこちらになるようです。
よって、下記をダウンロードする必要があります。
https://github.com/tensorflow/models.git
初回の起動方法は
c:\cd (リポジトリのフォルダ)/models/tree/master/tutorials/image/cifar10
c:\python cifar10.py
これで、自動的にデータのダウンロードが始まり、終了後に機械学習が始まります。
やはりかなり時間がかかるようでCorei7 3770K + Geforce GTX960 でだいたい40~50時間(つまり丸二日)程度はかかるようです。
ただ、稼働率はCPU,GPUともに60%前後を行ったり来たりしていますので、PCが動かなくなるということはなさそうです。