4-01 vgg-1層目のEXCEL化(続き)
●Pythonと同じようにビットシフト
整数で積和演算するため、その結果は大きな値になります。したがってModule04を実行して13ビット右シフトして値を小さくします(図4‐09)。 |
図4‐09 truncate
●ReLu関数を施す
Module05はReLuを行います。図4‐10のように負の値はすべて0になります。このシートの列は出力チャネル数(64列)、行は出力画素数(300×20=6000行)になります。またReluの際、リミッタが施され値は0〜31の範囲(符号なし5ビット)に制限されます。 |
図4-10 負の数は0になる
●出力画像を得るModule06
ReLuのシートは300×20=6000画素が縦に並んでいます。最後のModule06ではそれを2次元に並び替えます。出力は64チャネルあり(*3)、各チャネル20行のみ計算されます(*4)。
(*3)4チャネルのみ計算。64チャネルだと時間がかかるので。
(*4)300行全部計算するとパソコンのメモリ不足になるので。 |
図4‐11 出力は64チャネル。そのうちの4チャネルを平面的に並び替え
●整数の演算なのでピタリ一致する
これはPythonで計算した結果をCSV形式でセーブしたものです。ダウンロード、解凍してEXCELの結果と比較しましょう。図4‐12のようにピタリ一致していることを確認します(同図はoutCh00とlay1out_00.csvを比較している)。 |
図4‐12 1層目の出力チャネル0を比較
●出力は全部で64チャネルある
Module06を変更すると(図4‐13)他のチャネルを確認できます。同図ではoutCh60〜63のシートを生成します。 |
図4‐13 他のチャネルを見たいときは変更
最初のページへ
目次へ戻る |