4-04 vgg-5, 6, 7層目のEXCEL化
●前層と比べて5,6,7層目は入力画素数が1/4、出力チャネル数が2倍
vgg-4層目のプーリング(ブロック図の左から2番目の"P")が終わると次は5,6,7層目になります。ブロック図にあるようにこれらの層は入力画素数が75×75、出力チャネル数は256になります。 |
●下表から各層のファイルをダウンロード
各層のEXCELファイルを下の表からダウンロードして開きましょう。
・シートは重み係数だけで、その種類は同表のように制限されています。
・入力画像がないので入力CSVをコピーしてVBAを順番に実行していきます。
・シート数節約のために1枚のシートに複数チャネルぶん置きます(inChxx, im2colxx等)。
・75行全部計算させると時間がかかるので最初の4行のみ計算。
・256チャネル全部計算させると時間がかかるので最初の4チャネルのみ計算。
・EXCELで計算した出力とPython(出力CSV)を比較します。
・最後の層だけはプーリングがあります。 |
表4‐04 クリックしてダウンロード
●5層目の重み係数シート
図4‐35はSSD_layer05.xlm(5層目のEXCEL)のW5_Bias(重み係数シート)です。このように係数は8種類(-8,
-4, -2, -1, +1, +2, +4, +8)に制限されています(*1)。またこの層は入力が128チャネルあるので128x9
= 1152行(*2)、出力が256チャネルあるので256列あります。
(*1)2の累乗なのでビットシフトで乗算できる(乗算器の節約)
(*2)6、7層目は入力チャネルが256あるので重み係数シートは256x9 = 2304行になる。 |
図4‐35 5層目のEXCELファイル
●7層目の出力の答え合わせ
図4‐36はModule07の実行結果(Pool002シート)とPythonで計算した7層目のチャネル2(lay7out_002.csv)を比較しています(上の表からダウンロード)。各チャネルピタリ一致することを確認します(*3,4)。5層目、6層目も同様に確認します。
(*3)EXCELでは2行のみ計算(38行全部だと時間がかかるので)。3行目以下を計算させるにはここを参考。
(*4)EXCELではPool00〜03まで計算。Pool04以降を計算させるにはここを参考。 |
図4‐36 7層目チャネル2の計算結果(EXCELとPython)
●各行、各列の最後に0を付け加えてからプーリング
7層目のプーリングは75×75を38×38にするものなのでoutChxxシートに1列、1行付け加え(値はすべて0とする)、76×76にしてから間引きを行います。 |
目次へ戻る |