FC2カウンター FPGAの部屋 Kerasで学習した重みとバイアスを使用した白線間走行用CNNをIPにする1
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Kerasで学習した重みとバイアスを使用した白線間走行用CNNをIPにする1

Kerasで学習した重みとバイアスを使用した白線間走行用CNNをVivado HLSで確かめる
Kerasで学習した重みとバイアスを使用した白線間走行用CNNをVivado HLSで確かめる2
で、Kerasで学習した重みとバイアスは使えるということが分かったので、実際にIP 化してみよう。

カーブ、直線用白線間走行用畳み込みニューラルネットワーク13(AXI4 Stream版CNN IP 1)”の curve_conv_nn2_axis3 プロジェクトを利用して、curve_conv_nn2_axis3_k プロジェクトを作成した。とりあえずは、ZYBO 用だ。

curve_conv_nn2_axis3_k プロジェクトを作成し、さっそく、C シミュレーションを行ったが、エラーとなってしまった。
keras_curve_line_8_180802.png

エラー内容は

./csim.exe: error while loading shared libraries: libOpenCL.so.1

でOpenCL のライブラリがないということかな?
ググると、”libOpenCL.so.1 error when starting claymore”がヒットした。
それによると解決策は、

sudo apt update
sudo apt install ocl-icd-opencl-dev

ということだったので、早速インストールした。
keras_curve_line_9_180802.png

その後、C シミュレーションを行ったところ、問題なく終了した。
keras_curve_line_10_180802.png

59 枚の実際にZYBOt の車載カメラから撮影した画像を使用して、エラーを見たところ、直進データはすべて正解、左旋回データもすべて正解だが、右旋回の 1 個だけ、正解は2 だけど、1 に間違っていた。

Straight error is 0

Left error is 0

*test_images_171129/right_turn_test8.bmp
correct data = 2, outs = 1
dot2[0] = -1.498047 dot2[1] = 1.787109 dot2[2] = -0.345703
Right error is 1


カーブ、直線用白線間走行用畳み込みニューラルネットワーク13(AXI4 Stream版CNN IP 1)”の curve_conv_nn2_axis3 プロジェクトでは、左旋回で 1 回、間違っていたが、今回の curve_conv_nn2_axis3 プロジェクトでは、左旋回でのエラーは無かったが、右旋回でのエラーが出てしまっている。
  1. 2018年08月03日 04:19 |
  2. TensorFlow, Keras
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/4246-133e0eb6
この記事にトラックバックする(FC2ブログユーザー)