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使用
最初のページへ
目次へ戻る
|