8-04 vgg-5, 6, 7層目のVHDL化(続き)

●ラインの周期は倍になるがライン数が半分になる

 6層目の出力はここに示すように92.16us x 75 = 6.912msで1ラインぶんの演算が終わります。図8‐79を見るとLay2NextWrSel(7層目の入力ラインバッファの切り替え信号)が6.912msで切り替わっています。

 7層目の出力にはプーリングがあるので、184.32us x 37.5 = 6.912msで1ライン計算しますが、ここの右下のように無効ラインの期間が入るので、その倍の13.824msで1ライン出力されます。図8‐79を見るとReluWrSel(出力ラインバッファの切り替え信号)が13.824msで切り替わっています。

 プーリングにより38ラインになるので1画面の処理は13.824ms x 37.5 = 518.4msとなり、結局前層と同じになります。


図8‐79 出力1ライン計算に13.824ms

●relu.outに出力が書かれている

 7層目も出力はテキストファイルに落とされます。図8‐80はrelu.outの最後の部分、38×38画素なので1画面で1444行、また出力は256チャネルなのでビット幅は 5bit x 256 =
1280bit になります。これをVBAで256個のCSVファイルに分割してPythonの結果と比較します。


図8-80 relu.outに7層目の結果が書かれる


●バッチファイルでまとめて比較する

 CSVファイルが256個もあるので、前層までと同様にバッチファイルによって比較します。その結果は図8-81のようになり、全てのチャネルがピタリ一致しています。


図8-81 コマンドプロンプトでtest7.batを走らせる


●7層目のファイル類はここ

プロジェクトのアーカイブ
EXCEL+VBA
relu.out
Pythonの結果
バッチファイル

最初のページへ



目次へ戻る