出现了一个问题,下图是手动搭建的卷积,标准化,relu6的运算下载结果
代码如下
out1 = F.conv2d(x, filter101, padding=(1,1),groups=1,stride= (2,2))
# print(out.shape)得到[1,16,112,112]
# 标准化 clip
out = nn.BatchNorm2d(16, affine=True, eps = 0.0001, momentum= 0.1, track_running_stats=True)
dataw = torch.as_tensor(data_w_101)
out.weight = torch.nn.Parameter(dataw)
datab = torch.as_tensor(data_b_101)
out.bias = torch.nn.Parameter(datab)
datam = torch.as_tensor((mean101))
out.running_mean = datam
datav = torch.as_tensor(var101)
out.running_var = datav
out1 = out(out1)
print(out1.shape)
print(out1)
out1 = clip(out1)
下图是网路中第一层,也就是上图我自己搭建的过程的输出
会发现有一些偏差,每一个值都有一些偏差
我自己单独搭建的卷积,标准化,relu6的过程所采取的参数是取自pytorch网络模型导出为onnx后得到的