FC2カウンター FPGAの部屋 TensorFlow + Kerasを使ってみた13(Vivado HLSで実装1)

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

FPGAの部屋

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

TensorFlow + Kerasを使ってみた13(Vivado HLSで実装1)

TensorFlow + Kerasを使ってみた12(MNISTのデータの一部をC のヘッダに変換)”の続き。

前回は、MNISTのデータの一部をC のヘッダに変換した。今回は、今ままでの重みやバイアス、そして、MNISTのデータの一部を記述した C ヘッダを使用して、”今まで作ってきた層のテンプレートをMNIST のCNN に適用する3(Export RTL まで)”のVivado HLS プロジェクトに適用してみよう。

まずは、Vivado HLS 2017.4 で mnist_conv_nn10_hlss_k プロジェクトを作成した。
tensorflow_keras_59_180605.png

mnist_conv_nn10_hlss_k プロジェクトでは、”今まで作ってきた層のテンプレートをMNIST のCNN に適用する3(Export RTL まで)”で使用した mnist_conv_nn1_hlss プロジェクトの重みやバイアス、そして、MNISTのデータの一部を記述した C ヘッダをKeras で出力した重みやバイアス、そして、MNISTのデータの一部を記述した C ヘッダに変更した。

C シミュレーションを行った。コンパイラは gcc で実行するとエラーだった。
tensorflow_keras_60_180605.png

エラーログを示す。

INFO: [SIM 2] *************** CSIM start ***************
INFO: [SIM 4] CSIM will launch GCC as the compiler.
Compiling ../../../mnist_conv_nn_hlss_tb.cpp in debug mode
csim.mk:76: ターゲット 'obj/mnist_conv_nn_hlss_tb.o' のレシピで失敗しました
gcc: internal compiler error: Segmentation fault (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
make: *** [obj/mnist_conv_nn_hlss_tb.o] エラー 4
CRITICAL WARNING: [SIM 100] 'csim_design' failed: compilation error(s).
INFO: [SIM 3] *************** CSIM finish ***************


gcc: internal compiler error ということでどうしようもない。

次に、clang でコンパイルしてみた。
tensorflow_keras_61_180605.png

今度はコンパイルできたが、300 個のデータの殆どでエラーになってしまった。。。
tensorflow_keras_62_180605.png

ちなみに、元の mnist_conv_nn1_hlss プロジェクトで C シミュレーションをやってみた。
こちらのデータ数は 100 個だが、1 個の間違いだけなので、Keras の重みやバイアスのデータがおかしいのだと思う。
tensorflow_keras_63_180605.png

これから原因を追求していこう。
  1. 2018年06月05日 04:57 |
  2. TensorFlow, Keras
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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