8-01 vgg-1層目のVHDL化(続き)
●出力64チャネルを別々のファイルに
図1‐17のようにModule21を開いて実行します。数分かかるかもしれませんが、EXCELシート上に「lay1sim_xx.txtに書き出しました」とウインドウが現れます。vbaoutputフォルダにファイルが64個生成されます。今まで64チャネルが一緒くたになっていたのを、1チャネル1ファイルに分けたものです。 |
図8‐17 Module21を実行すると64個のファイルができる
●64個のTXTファイルをCSVファイルにする
図8‐18のようにModule22を開いて実行すると、EXCELシート上に「lay1sim_xx.csvに書き出しました」とウインドウが現れます。vbaoutputフォルダにCSVファイル(300行×300列)が64個生成されます。これらをPythonの結果と比較します。 |
図8‐18 Module22でCSV化
●バッチファイルでまとめて比較する
このアーカイブはPythonの結果です。解凍すると64個のCSVファイル(lay1out_00〜63.csv)が現れるのでEXCELのフォルダに置きます(vbaoutputの上のフォルダ!)。これらをシミュレーション結果(lay1sim_00〜63.csv、これらはvbaoutputフォルダにある)と比較します。
64個のファイルを1個1個比較するのは大変なのでバッチファイルで処理します。
Windowsの「コマンドプロンプト」を開き、このバッチファイルをEXCELフォルダにおいて実行します。すると図8‐19のように64個のファイル同士が比較されるので、不一致がないことを確認します。 |
図8‐19 コマンドプロンプトでtest1.batを実行
●整数で乗算・加算させているので必ず一致する
シミュレーション結果がPythonとピタリ一致したということは、少なくともvgg-1層目が正しくHDL化されたことを意味します。
もし一致しないときはシミュレーションで途中経過を丁寧に見ていきますが、その際の比較対象はPythonよりもEXCEL(ここでいったんEXCEL化したことを思い出そう)が良いと思います。
1層目のシミュレーション結果(relu.out)は2層目の入力として使います。2層目も同様にシミュレーションしてPythonとの一致を見ます。 |
次のページへ
目次へ戻る |