9‐02 4層目の重み係数とバイアスのHDL生成
●4種類に限定された係数シート
ここでPythonをEXCEL化した際の4層目のファイル(TS_layer4.xlsm)を開きます。W4_Biasシートに重み係数がありますが、それらは4種類(+64, +16, -16, -64)しかありません(図9‐04)。 |
図9-04 みな2の乗数なのでビットシフト乗算できる
●Visual Basic for Applicationウインドウからマクロ実行
VBAからModule10を開き実行、更にModule11を開いて実行します。vbaoutputディレクトリに係数ROMのHDLファイルが4つ生成され、開くと図9‐05のようにW4_Biasシートの各セルがエンコードされて横一行になっています(*1)。
(*1)-64=10, -16=11, +16=00, +64=01と2ビットにエンコード。それを横一行なので2x128 = 256ビットになる。ROMDATAは0〜143まで(入力64ch/4
= 16ch, カーネル3x3なので16x9 = 144) |
図9‐05 ROM_W4_00〜03.vhd。重み係数ファイル4つ
●バイアスも必要。VBAで生成
バイアスはModule12で生成します(TS_makeTextB4)。開いて実行すると、vbaoutputディレクトリにdataB.txtが生成されます。出力128chなのでバイアスは128個あります(図9‐06)。conv_layer4.vhdの適当な部分に貼り付けます。 |
図9‐06 dataB.txtにバイアス128個
最初のページへ
目次へ戻る
|