面试的时候让手撕正向卷积,当时懵了一下然后按照卷积的定义磕磕巴巴写了个大概,现在修改整理一下,博主也是深度学习刚入门,有错误的话请指出。
输入:NHWC
kernel:k*k*C_input*C_output
输出:outputs
def conv2d_forward(inputs, kernel):
outputs = []
for n in range(C_output): # 遍历每个卷积核
h = (H-k+2*padding)/strides + 1
w = (W-k+2*padding)/strides + 1
output = [[bias]*range(w) for _ i