TensorFlow Object Detection API の環境構築やってみたわ
巷で有名なtenso…..を使ってみたい!
完全なる環境構築の忘備録です。くだんのライブラリが何かと言うと、
これですね!物体検出です!!強い!!すごい!!これはなんか使える環境だけ整えておいてドヤ顔したいですね!ということで、以下簡単な忘備録です
インストール手順
ここを参照しながら進めました!
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アカウントからダウンロードしてきましょう。
$ 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を一読しただけの筆者にはまだあまりわかっていませんが、忘備録として残しておきます!!