1×1卷积层相当于在每个像素位置做全连接层操作,但每个通道内部卷积核参数仍是共享的。
将输入数据形状改变为(输入通道,高度×宽度)
卷积核形状为(输出通道数,输入通道数)(高度宽度都为1)
def corr2d_multi_in_out_1_1(X,K):
c_i,h,w=X.shape
c_o=K.shape[0]
X=X.reshape((c_i,h*w))
K=K.reshape((c_o,c_i))
Y=torch.matmul(K,X)
return Y.reshape((c_o,h,w))
X=torch.normal(0,1,(3,3,3))
K=torch.normal(0,1,(2,3,1,1))
Y1=corr2d_multi_in_out_1_1(X,K)