3‐01 本企画のロードマップ

●PythonをExcelに移植する

 図3‐01は本企画のロードマップです。第1部ではPythonのプログラムを整数化する、係数の種類を減らす、リミッタを施すなど、ハードウエア化を見据えた変更を行いました。
 第2部では
EXCELを使ってPythonと同じ処理を行います。

図3-01 ハードウェア化へのロードマップ

●なぜEXCEL化するのか

 EXCELに移植することにより、次のようなメリットがあります。

・行列のボリューム感が分かる。
・演算のイメージがつかめる。
・演算の途中経過が分かる(*1)
・係数や演算結果の最大・最小値がすぐわかる(*2)
VBAでHDLを自動生成できる(*3)

(*1)論理シミュレーション(次のステップ)で役に立つ(積和演算の途中を見たい場合など)
(*2)MAX, MIN関数で探す。整数の範囲が分かれば
ビット数の目処を立てられる。
(*3)重み係数ROMのHDLファイルは数十個〜数百個に及ぶことがあるので自動生成させる(これが一番のメリット)。



●Pythonから生成したCSVファイルを使う

 第1部でPythonプログラムを走らせた際にいくつかCSVファイルが生成されました。図3‐02は入力画像で、B/G/Rの3chあります。これらはTestフォルダの00057.png(図1‐41の左上、信号標識の画像)をRGB565フォーマットにしたものです(*4)。

(*4)B/Rは下位3ビット、Gは下位2ビットが0になっている

図3‐02 これらをEXCELに貼り付ける

●入力画像+重み係数+バイアスで計算させる

 また重み係数、バイアスのCSVファイルも生成されており、それらがあればEXCELでPythonと同じ計算を行うことができます。
 図3‐03は1層目の係数とバイアスです。このように全て整数になっています。

図3‐03 w1_int.csvとb1_int.csv

●入力画像も係数もバイアスも全部整数なので・・・

 
PythonプログラムをEXCELに移植しても結果はピタリ一致させることができます。複雑に見えても所詮は整数の掛け算と足し算だからです。


次のページへ


目次へ戻る