WindowsでTensorFlowを触ってみた
2016/11/29からWindowsでTensorFlow 0.12がサポートされたので色々触ってみたいと思います!!
環境のセットアップ
まず、TensorFlowの環境を構築します
参考にしたサイトを以下に示します。
とてもわかりやすく書いていらっしゃるので、とても助かりました!!
そして、このサイトの手順に従えば環境構築にすごい時間を取られるんだろなーと考えていましたが案外あっさりできました
ImageNetを使って画像推定
先のページを読んでいるとImgeNetで自分の画像の推定が出来ることを知ったので自分も試しにやってみた
画像はプロフィール画像にもしているしゃくれライオンを使用した
まず、サンプルプログラムがあるtensorflow内のimagenetに移動する
C:\>cd C:\tensorflow\tensorflow\models\image\imagenet
次に、推定したい画像のパスを指定して実行する
C:\tensorflow\tensorflow\models\image\imagenet>python classify_image.py --image_file c:\Lion.jpg
実行結果
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cublas64_80.dll locally I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cudnn64_5.dll locally I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library cufft64_80.dll locally I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library nvcuda.dll locally I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:128] successfully opened CUDA library curand64_80.dll locally I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties: name: GeForce GTX 1060 6GB major: 6 minor: 1 memoryClockRate (GHz) 1.8095 pciBusID 0000:01:00.0 Total memory: 6.00GiB Free memory: 5.00GiB I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0 I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0: Y I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1060 6GB, pci bus id: 0000:01:00.0) E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:586] Could not identify NUMA node of /job:localhost/replica:0/task:0/gpu:0, defaulting to 0. Your kernel may not have been built with NUMA support. W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_def_util.cc:332] Op BatchNormWithGlobalNormalization is deprecated. It will cease to work in GraphDef version 9. Use tf.nn.batch_normalization(). lion, king of beasts, Panthera leo (score = 0.07077) maillot, tank suit (score = 0.05327) face powder (score = 0.03132) Band Aid (score = 0.02967) sunscreen, sunblock, sun blocker (score = 0.02033)
人の手が移っているしゃくれライオンを用いても一番高い推定結果がライオン(king of beats)となっていることがわかる
他の画像を使用していろいろ遊んでいたのですが、このプログラムで使用する画像はjpgにしか対応していないので注意が必要です