11‐02 6層目の重み係数とバイアスのHDL生成

●6層目は係数が少ないので普通の乗算を行う

 ここでPythonをEXCEL化した際の6層目のファイル(TS_dense56.xlsm)を開きます。W6シートに重み係数がありますが、図11‐04のように
符号付き9ビットの任意の値をとり得ます。したがって、この層は「普通の乗算器」による積和演算になります。

図11-04 6層目の係数は‐256〜255までの値をとり得る

●Visual Basic for Applicationウインドウからマクロ実行

 VBAから
Module15を開き実行しますvbaoutputディレクトリに係数ROMのHDLファイルが1個生成され、開くと図11‐05のようにW6_binシートの各セルが横一行になっています(*1)。

(*1)各セルは9ビット、それを横一行なので9x43 = 387ビットになる


図11‐05 dataUnified.txt 387ビット、アドレスは0〜127

●バイアスも必要。VBAで生成

 バイアスは
Module16で生成します(TS_makeTextB6)。開いて実行すると、vbaoutputディレクトリにdataB.txtが生成されます。出力43画素なのでバイアスは43個あります(図11‐06)。conv_layer6.vhdの適当な部分に貼り付けます。

図11‐06 バイアス43個。10進数を16ビット2進数にするCONV_std_logic_vector使用


最初のページへ


目次へ戻る