TensorFlowのC++ライブラリをRasPiでビルドする


Pocket

TensorFlowでラズパイが公式サポートされるようなので試して見ました。
今回は、サンプルプログラム(tensorflow/contrib/pi_examples)を動かすところまでです。

TensorFlow Raspberry Pi Examples

【環境】
Raspberry Pi3 model B
Raspbian 4.4(ver May 2016)
TensorFlow 0.9.0

ライブラリのビルド

まずはライブラリのビルド方法です。
手順は下記に書かれている通りですが、躓いたところの補足を交えて書いておきます。

TensorFlow Makefile

1.ソースコード取得

git clone https://github.com/tensorflow/tensorflow
cd tensorflow

2.依存パッケージの取得

tensorflow/contrib/makefile/download_dependencies.sh

加えて下記も入れておきましょう。

sudo apt-get install autoconf build-essential libtool

 

3.google protobufのインストール

cd tensorflow/contrib/makefile/downloads/protobuf/
./autogen.sh
./configure
make

コンパイルにはRasPi3で1.5時間ほどかかります。

sudo make install
cd ../../../../..

4.ライブラリのビルド

ビルドにはg++4.8が必要なのでない場合はインストールしておきましょう。
Raspberry Pi build error

sudo apt-get install g++-4.8
sudo ldconfig
make -f tensorflow/contrib/makefile/Makefile HOST_OS=PI TARGET=PI OPTFLAGS="-Os -mfpu=neon-vfpv4 -funsafe-math-optimizations -ftree-vectorize `pkg-config --libs protobuf`" CXX=g++-4.8

benchmarkファイルのリンクでエラーが出る場合は、protobufへのパスが通ってないようなので、`pkg-config –libs protobuf`を追加してあげましょう。

こちらもビルドに1時間程かかった気がする…(メモるの忘れた)

これでインストールは終了です。
 

試す

写真認識のサンプルがあるのでそれを試してみました。
TensorFlow Raspberry Pi Examples

raspi_tf_example

oxygen mask 0.157
nipple 0.134
lab coat 0.047
beaker 0.019
sunscreen 0.012

…nipple!?

あとがき

ビルド中にラズパイの動作が不安定(勝手にメニューが開いたり…)になるんだけど、熱暴走?電圧低下かな?
ヒートシンクなし、2A電源で動かしてるけどダメなのかな。
やっぱり2.4Aいるのかな…電流モニタしてもそんな食ってなさそうだけど。う〜む。

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>