3‐03 2層目のEXCEL化

●最初は重みとバイアスのシートしかない

 TS_layer2.xlsmを開くと、W2_Biasと書かれたシートしかありません(図3-22)。これは重み係数とバイアスです(Pythonで生成したw2_int.csv, b2_int.csvをコピペ)。
 2層目の入力は16ch、出力は32chなので重み係数は9x16 = 144行、32列あります。
 バイアスは32個ですが、それらは1/8されています(理由はこれ)。

図3-22 2層目はこれだけ

●1層目の出力が2層目の入力

 入力画像のシートはVBAで自動生成します。Module01を開いて実行します(*1)。

(*1)実行前に次を確認。@TS_layer1.xlsm(1層目のEXCEL)が同じディレクトリに存在している。A同EXCELのVBAで1層目の出力を生成し、保存して閉じてある。

図3‐23 VBAでファイル間のデータ転送

●入力は28×28画素、16ch

 するとCh00〜15まで、16枚のシートが生成されます。これらは1層目のEXCELから転写されたもので、これらが2層目の入力になります。28×28画素ですが、カーネルが動く範囲は一回り小さい
26×26になります。

図3‐24 1層目の出力がここにくる

●カーネルが動く範囲は26x26→676行、出力32Ch→32列

 後は1層目と同様にVBAマクロを実行していきます。Module02を実行するとim2col00〜im2col15のシートが生成されます。更にModule03を実行するとim2col00_W2〜im2col15_W2のシートが生成されます(図3‐25)。

図3‐25 入力画素26x26なので676行、出力32chなので32列


次のページへ


目次へ戻る