dondakeshimoの丸太

データサイエンス/Webアプリケーション/

TensorFlow Object Detection API の環境構築やってみたわ

巷で有名なtenso…..を使ってみたい!

完全なる環境構築の忘備録です。くだんのライブラリが何かと言うと、

developers-jp.googleblog.com

これですね!物体検出です!!強い!!すごい!!これはなんか使える環境だけ整えておいてドヤ顔したいですね!ということで、以下簡単な忘備録です

インストール手順

ここを参照しながら進めました!

github.com

Pythonのバージョン(pyenv)

機械学習なので当然のようにPythonなのですが、バージョンが3系だと3.5でないとダメらしいので、新しくpyenvからインストールしてきました。

$ pyenv install --list
$ pyenv install 3.5.3

とりあえず3.5で一番新しいのぶちこんどけばええやろ!と。

Protocol Bufferのインストー

これがなんなのかはよく調べてないですが、googleが提供している何かしのファイルと展開するやつかなと。すみません、めっちゃ間違ってそうです。インストールはhomebrewで一発!これは間違いない!

$ brew install protobuf

brewは基本的に最新版しか入らないので、3.3くらいが入ります。参照リンクによると2.6を入れろとのことなのですが、今の所3.3でも動いているのでよしとしています。やっぱり2.6が入れたいという方は、GithubやらGoogleのホームページからバイナリーファイルを拾ってきてコンパイルするか、homebrewでダウングレードするかですね!

Homebrewで旧バージョンをインストールする方法(brew verionsはもう使えない) - Qiita

依存ライブラリのインストー

筆者は使ってみたかったので、

$ pyenv virtualenv 3.5.3 tf_obj_det

で新しい環境を作ることにしました。とりあえず、Python3.5に依存ライブラリが入ればなんでもオッケーです。

$ pip install pillow
$ pip install lxml
$ pip install jupyter
$ pip install matplotlib

これで準備はあらかた整いました!いよいよ本体ダウンロード!

GithubからPull

github.com

このgithubアカウントからダウンロードしてきましょう。

$ mkdir tf_obj_det
$ cd tf_obj_det
$ git init
$ git pull https://github.com/tensorflow/models

あとは環境変数を整えてあげればオッケーです!

これはなんだろう…

# From tensorflow/models/
protoc object_detection/protos/*.proto --python_out=.

最初に言い訳していた、Protocol Bufferを使って何かをしています!笑

Python環境変数

$ export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

シェルを立ち上げるたびに打ち込まなければダメらしいので、嫌だったら

~/.bash_profile
or
~/.zshrc

あたりに打ち込んでおけとのことです!

テスト

$ python object_detection/builders/model_builder_test.py

お疲れ様でした!これを使って何をするのか。オーライリーのDeep Learningを一読しただけの筆者にはまだあまりわかっていませんが、忘備録として残しておきます!!