#23 Raspberry Pi3 で xilinx-tiny-cnn

 [公開]
icon Kenichi TAGI が 2018/09/21 23:19 に投稿
  投稿を編集(サインイン)
  ストック
  アンケート回答

  目次

目標

Raspberry Pi3 で xilinx-tiny-cnn の example をビルドします。

ネタ元

xilinx-tiny-cnn
https://github.com/Xilinx/xilinx-tiny-cnn

opencv
https://github.com/opencv/opencv

環境

Raspberry Pi 3 Model B

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:        8.0
Codename:       jessie
$ uname -a
Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

手順

OpenCV のインストール

xilinx-tiny-cnn のビルドに必要なのでインストールします。

OpenCV: Installation in Linux
http://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

パッケージのインストールは required のみで。

$ sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

clone して、

$ git clone https://github.com/opencv/opencv.git
$ git clone https://github.com/opencv/opencv_contrib.git

cmake/make します。

$ cd opencv
$ mkdir Build
$ cd Build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
$ make -j4 # runs 4 jobs in parallel

そこそこ時間がかかります。ドキュメントの make は optional なので省略します。

インストールします。

$ sudo make install

xilinx-tiny-cnn のビルド

clone します。

$ git clone https://github.com/Xilinx/xilinx-tiny-cnn.git

このままだとビルドできません。 CNN_LOG_VECTOR() の実体(実装)が無いためです。これはデバッグ用途のログ出力メソッドと思われるので無効化します。 util.h に宣言があります。

//void CNN_LOG_VECTOR(const vec_t& vec, const std::string& name);
#define CNN_LOG_VECTOR(vec, name)

もちろん、ダンプするような実装を追加しても良いです。

cmake/make します。 Intel SSEIntel AVX を無効にする必要があるので、

$ cmake -DUSE_SSE=OFF -DUSE_AVX=OFF -DBUILD_EXAMPLES=ON ..
$ make -j4 # runs 4 jobs in parallel

とします。

example_cifar_trainexample_mnist_testexample_mnist_train ができました。

 添付ファイル     - [0]


 コメント追加