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を判定してますね。こちらが正解感。
時間見つけてもう少し遊んでみます。