p_2_6
回答日時: | 2019/02/14 |
Q: | im2colのソースコードで、理解できない部分があるので、教えてください。
ソースを解読すると、下記のようになっています。 <Reshape前> ソースの可読性を上げるなら、<Reshape前>から3*3の領域を抜き取り、 |
A: | numpyの行列の演算をまとめてやろうとした時に、3*3の領域がn個に対して3*3のfilterが1つで積を求めることになります。これを3*3の部分を明示的に区別するために1次元に直しています。 実際は下記のような演算が可能です。 “` import numpy as npa = np.array([i for i in range(18)]).reshape(2, 3, 3) b = np.array([2 for i in range(9)]).reshape(1, 3, 3) a*b “` backword時も、加算するだけなので、これベースでかけます。 |