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を走らせる
最初のページへ
目次へ戻る |