TensorFlowをWindowsで試してみる
Google製のディープラーニングライブラリです。以前Ubuntuで試しましたが、最近Windowsに対応したようなので試してみました。パッケージとか整備されてるようで、以前Ubuntu環境の記事を書いた頃よりおまじないが少ないなーとかは思いました。
※個人的なメモです。
Pythonをダウンロード・インストールする
https://www.python.org/downloads/ でPython 3.5.2をダウンロードします。(64bit版をダウンロードします。) Pythonが64bit版でない場合、tensorflowのインストールで以下のようなエラーとなりインストールできません。
| 
					 1  | 
						tensorflow-*.whl is not a supported wheel on this platform.  | 
					
コマンドプロンプトでpythonコマンドを実行するとバージョンを確認できます
| 
					 1 2  | 
						C:\Users\v>python --version Python 3.5.2  | 
					
pipも入るんですね。
| 
					 1 2  | 
						C:\Users\v>pip -V pip 8.1.1 from c:\users\v\appdata\local\programs\python\python35-32\lib\site-packages (python 3.5)  | 
					
pipをアップグレードします
| 
					 1 2 3 4 5  | 
						C:\WINDOWS\system32>pip install --upgrade pip Requirement already up-to-date: pip in c:\users\v\appdata\local\programs\python\python35-32\lib\site-packages C:\WINDOWS\system32>pip -V pip 9.0.1 from c:\users\v\appdata\local\programs\python\python35-32\lib\site-packages (python 3.5)  | 
					
virtualenvを入れます
| 
					 1  | 
						pip install --upgrade virtualenv  | 
					
tensorflowを入れます
| 
					 1 2  | 
						pip install tensorflow pip install tensorflow-gpu  | 
					
virtualenvで作業フォルダの作成
| 
					 1  | 
						virtualenv --system-site-packages E:\tensorflow  | 
					
別途サンドボックスを用意してサンプルリポジトリをcloneします。
| 
					 1 2 3  | 
						mkdir sandbox cd sandbox git clone --recurse-submodules https://github.com/tensorflow/tensorflow  | 
					
git cloneしたフォルダの中にtensorflow/tensorflow/modelsがあるので、modelフォルダをコピーして、virtualenvで設定した作業フォルダ(E:\tensorflow)に入れます。
解析プログラムまで移動して実行
| 
					 1 2  | 
						cd tensorflow\tensorflow\models\image\mnist python convolutional.py  | 
					
GPUも認識してますね
| 
					 1 2 3 4 5  | 
						name: GeForce GTX 650 Ti major: 3 minor: 0 memoryClockRate (GHz) 0.954 pciBusID 0000:01:00.0 Total memory: 1.00GiB Free memory: 826.73MiB  | 
					
ただしTensorflowが要求しているCuda capability(3.5以上)と今回用意したGPU(GTX 650 = 3.0)の条件があっていないためGPUは使えないようです。残念。
| 
					 1 2  | 
						Ignoring visible gpu device (device: 0, name: GeForce GTX 650 Ti, pci bus id: 0000:01:00.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5.  | 
					
計算が始まりました。
| 
					 1 2 3 4 5 6  | 
						Initialized! Step 0 (epoch 0.00), 7.2 ms Minibatch loss: 8.334, learning rate: 0.010000 Minibatch error: 85.9% Validation error: 84.6% Step 100 (epoch 0.12), 158.2 ms  | 
					
完了しました。
| 
					 1 2 3 4 5  | 
						Step 8500 (epoch 9.89), 200.7 ms Minibatch loss: 1.619, learning rate: 0.006302 Minibatch error: 0.0% Validation error: 0.9% Test error: 0.8%  | 
					
ImageNet
画像データになにが含まれているかを分類してくれます。
| 
					 1  | 
						E:\tensorflow\models\image\imagenet> python .\classify_image.py  | 
					
猫画像をインプットしてみました。
| 
					 1  | 
						 python .\classify_image.py --image_file E:\cat.jpg  | 
					
実際に使ってみた画像は以下。実家の猫です。
| 
					 1 2 3 4 5  | 
						triceratops (score = 0.16138) tiger cat (score = 0.16113) tabby, tabby cat (score = 0.07418) zebra (score = 0.03563) tiger, Panthera tigris (score = 0.03409)  | 
					
triceratopsでは無いと思います。左の靴が判定の邪魔したんですかね。ほぼ同値でtiger catを判定してますね。こちらが正解感。
時間見つけてもう少し遊んでみます。

