●extras-8層目のEXCELを開く
次はextras-8層目をEXCEL化します。これをダウンロードして開きます。
シートは1つ(exW8_Bias)だけで、これは重み係数のシートです(図5-36)。入力は128チャネルあり、カーネルが3x3=9なので9x128= 1152行、出力は256チャネルあるので256列あります。
係数は-4, -1, +1, +4の4種類に制限しています。全て2の累乗なのでビットシフトで乗算を達成できます(乗算器の節約)。またこの層もバイアスは省略するのでありません。 |
図5-36 extras-8層目の係数。カーネルは3×3
●64枚のシートに入力128チャネル
VBAのModule1を実行すると、ex7out_000.csv〜ex7out_127.csv(extras-7層目の出力、これを解凍して同じディレクトリに置く)が新しいシートに転写され、それら(inCh00〜inCh63)がextras-8層目の入力になります(図5-37)。
この層の入力は128チャネルですが、生成されるシートは64枚、すなわち1枚のシートに2チャネルぶんの画像が張り付けられています(*1)。extras-7層目の出力は3×3なので3列、各シート2チャネルぶんあるので3x2=6行になります。
(*1)シート数があまりにも多いとEXCELが重くなり、パソコンのメモリを圧迫するのでシート数を節約する。 |
図5-37 64×2=全部で128チャネル
●extras-8層目はパディングがないので画素数が減る
8層目の入力にはパディングがないので3×3のまま、それを3×3のカーネルで畳み込みます。同じ大きさなのでその結果は1×1画素になります。 |
●extras-8層目の出力の答え合わせ
Module02〜07を順番に実行します。
図5-39はoutCh000シートとex8out_000.csv(Pythonで計算したextras-8層目のチャネル0)を比較しています(これを解凍して開く)。出力は256チャネルあり、それぞれピタリ一致することを確認します。 |
図5-39 EXCEL化してもPythonの結果と変わらない
最初のページへ
目次へ戻る |