2-06 6層目のEXCEL化
●6層目の重み係数をコピペ
図2‐61はballs_dense56.xlsm(5, 6層目のEXCEL)のW6シートです。
Pythonが生成した重み係数 w6_int.csvがコピペされています。
6層目の重み係数はこのように符号付9ビットで整数化します。 |

図2‐61
●6層目バイアスをコピペ
図2‐62はCalculateシートです。バイアスb6_int.csvはこのシートの23行目にコピペします。 |

図2‐62
●Visual Basic for Applicationウインドウからマクロ実行
VBAからModule15を開いて実行します。vbaoutputディレクトリに係数ROMのHDLファイルが1個生成され、開くと図2‐63のようにW6シートの各セルがエンコードされて横一行になっています(*1)。
これを推論IPのROM_W6.vhdのROMDATAと置き換えます。
(*1)各セルは9ビット、それを横一行なので9x43 = 387ビット(うち有効なのは最初の9x5
= 45ビット。後はみな0) |

図2‐63 dataUnified.txt。重み係数ファイル1個。これをROM_W6.vhdにコピペ
●バイアスも必要。VBAで生成
バイアスはModule16で生成します。開いて実行すると、vbaoutputディレクトリにdataB.txtが生成されます。6層目は出力5個なので図2‐64のように最初の5個のみが有効になり、後は0になります。これをconv_layer6.vhdのBIASの部分に貼り付けます。 |

図2‐64 dataB.txtにバイアス5個
目次へ戻る |