tensorflowで画像分類を動かしてみます
gopher画像が入っているgolangを..:
$ git clone https://go.googlesource.com/go
tensorflowのコンテナが転がっているので利用します:
$ docker run `pwd`/go:/go -it gcr.io/tensorflow/tensorflow:latest-devel
すると、コンテナ内部で作業ができるようになります。
では、早速gopherを入れてみましょう:
# python /tensorflow/tensorflow/models/image/imagenet/classify_image.py --image_file /go/doc/gopher/fiveyears.jpg
>> Downloading inception-2015-12-05.tgz 100.0%
Succesfully downloaded inception-2015-12-05.tgz 88931400 bytes.
bib (score = 0.33395)
pencil sharpener (score = 0.11732)
handkerchief, hankie, hanky, hankey (score = 0.04763)
rubber eraser, rubber, pencil eraser (score = 0.04499)
wall clock (score = 0.04034)
イマイチ。もう少しわかりやすいものを入れてみると:
# python /tensorflow/tensorflow/models/image/imagenet/classify_image.py --image_file /go/doc/gopher/appenginegophercolor.jpg
binoculars, field glasses, opera glasses (score = 0.98468)
mask (score = 0.00313)
comic book (score = 0.00256)
jigsaw puzzle (score = 0.00029)
ski mask (score = 0.00026)
glassesが判定できました!
入力はjpegにしておく必要があるようなので、必要に応じてconvert
で変換しておくと良さそうです。