8-02 VBA+EXCELで4、5、6層目を計算させる

●畳み込みは全部で6層ある

 前節では3層目をEXCEL化しましたが、ここに示すように畳み込みは
6層目まであるので本節ではそれらを一気にEXCEL化します。シートの数が膨大になりますが、VBAを使えばあっという間に生成・計算できます。



4層目を計算するためには3層目の計算が終了していること!

 4層目はこのファイル(conv_layer4.xlsm)のVBAを実行してEXCELシートを生成しますが、それには
条件があります。

@前節で使用したconv_layer3.xlsmがconv_layer4.xlsmと同じディレクトリに存在すること。
A前節で使用したconv_layer3.xlsmのVBAマクロをすべて実行していること。

B前節で使用したconv_layer3.xlsmを保存して閉じていること。

●入力画像はVBAで3層目から転写する

 それではconv_layer4.xlsmを開いてみましょう。シートが1枚(W4_Bias)だけあります。肝心の入力画像がありませんが、それらはVBAマクロを実行してconv_layer3.xlsmから
転写して自動生成します。

 まずは図8-20のように「開発」タブからVisual Basicをクリックしましょう。



  図8-20 開発タブからVisual Basic


●VBAマクロを開いて走らせる

 左枠のVBA ProjectからModule1をダブルクリックすると図8-21のように
Sub layer4_inから始まるVBAマクロが現れます。三角マークをクリックして実行しましょう。



  図8-21 VBAを起動してモジュールを開きマクロを実行


●入力画像は前層のEXCELの結果を転写したもの

 すると入力画像のシート32枚が自動生成されます(図8-22)。これらは3層目の結果であり、conv_layer3.xlsmから転写されたものです。畳み込み3層目の結果はこのように14x14画素ですが、それらをパディングして
18x18画素にしたものが4層目の入力となります。



  図8-22 4層目の入力画像が32枚生成される。3層目の出力と比べてみよう


次のページへ


目次へ戻る