5-04 推論結果をLinux上で画像とともに確認

 SDカードをZYBOに挿して電源ON、その後startxコマンドでX-Windowを立ち上げましょう。
 イーサーネットケーブルを挿し、
Firefox Web Browserを開き、このアーカイブをダウンロードします。



  図5-11 ZYBOを有線LANでインターネットに接続する



 Terminalを開き、ダウンロードしたアーカイブを解凍します。次のようにタイプしましょう。

cd Downloads
unzip ZYBO.zip
mv ZYBO ../xillybus
cd ../xillybus/ZYBO


●OpenCVを使ったC言語ソースコードのコンパイル

 ZYBOディレクトリににあるソースコード(DLonZYBO.c)は
OpenCVの関数を使用しており、次のようにコンパイルします。(*1)(*2)

gcc `pkg-config --cflags opencv` DLonZYBO.c -o DLonZYBO `pkg-config --libs opencv`

(*1)`pkg-config ... opencv`を囲むキャラクタ(``)はクォーテーションマークではなく、
バッククオート。本サイトからコピー&ペーストすると良い。

(*2)OpenCVをインストールしないとエラーになります(コラム51にインストール手順)。



●Deep Learning on ZYBOの実行

 エラーなしで通ったら次のように実行します。

./DLonZYBO

 すると図5-12のように、最初(0番目)の画像「7」が現れます。スペースキーを押すと次(1番目)の画像「2」が現れ、もう一回押すとその次(2番目)の画像「1」が現れます。

  図5-12 キーボードを押すたびに次々と画像が出てくる


 画像左下の小さい数字は「正解」、右下は「推論結果」です。図5-12は3つとも正解しています。

 スペースキーを何度か打って8番目の画像を見ましょう。図5-13のように「
不正解」になっています。


  図5-13 正解は5だが推論が6になっていて不正解


 このアプリケーションDLonZYBO.cは100枚の画像で推論を行います。そのうち正解は95枚、不正解は図5-13および図5-14の計5枚になります。

  図5-14 不正解は全部で5枚

 不正解は8, 33, 62, 66, 92番目の画像です。Pythonの結果(整数版)と比較してみます。以下のようにピタリ同じ結果になりました。。



 本章ではスペースキーを押しながら、1画像づつゆっくり動作させました。しかし推論自体はPL部のロジックで高速(1画像につき11us)に計算されます。

 したがって「PL部に高速に画像データを送り込む仕組み」と「PL部から高速に推論結果を受け取る仕組み」があれば、FPGA化による高速化の恩恵が十分得られるでしょう。


目次へ戻る