Open pometa0507 opened 4 years ago
https://github.com/oreilly-japan/deep-learning-from-scratch/blob/77eba24406354f1361fe3614fdcac54844729184/common/util.py#L71-L99
上記コードでimgの初期化部分 img = np.zeros((N, C, H + 2*pad + stride - 1, W + 2*pad + stride - 1)) について、stride>1のときに余分なゼロ要素を生成している気がします。
img = np.zeros((N, C, H + 2*pad + stride - 1, W + 2*pad + stride - 1))
return時のスライスにて消去されるので結果には影響ないかと思いますが、 余分なメモリ使用やコード理解の妨げになるのではと思い投稿させていただきました。
改善案として、img初期化時の配列サイズは下記でよいかと思うのですがいかがでしょうか。 img = np.zeros((N, C, H + 2*pad, W + 2*pad))
img = np.zeros((N, C, H + 2*pad, W + 2*pad))
https://github.com/oreilly-japan/deep-learning-from-scratch/blob/77eba24406354f1361fe3614fdcac54844729184/common/util.py#L71-L99
上記コードでimgの初期化部分
img = np.zeros((N, C, H + 2*pad + stride - 1, W + 2*pad + stride - 1))
について、stride>1のときに余分なゼロ要素を生成している気がします。return時のスライスにて消去されるので結果には影響ないかと思いますが、 余分なメモリ使用やコード理解の妨げになるのではと思い投稿させていただきました。
改善案として、img初期化時の配列サイズは下記でよいかと思うのですがいかがでしょうか。
img = np.zeros((N, C, H + 2*pad, W + 2*pad))