python – 为什么在tensorflow中构建resnet模型时使用固定填充
发布时间:2020-12-16 22:28:39 所属栏目:Python 来源:网络整理
导读:Tensorflow在github中正式实现了resnet.它使用固定填充而不是普通的tf.layers.conv2d. 像这样的东西: def conv2d_fixed_padding(inputs,filters,kernel_size,strides,data_format): """Strided 2-D convolution with explicit padding.""" # The padding is
Tensorflow在github中正式实现了resnet.它使用固定填充而不是普通的tf.layers.conv2d. 像这样的东西:
这样做的目的是什么?如果我们输入一个大小为32×32的图像并使用tf.layer.conv2d设置填充方法到SAME,我们可以得到一个16×16的特征映射,步长为2.但在上面的代码中,它将在图像的两侧填充零,然后使用填充方法VALID. 最佳答案
假设我们的步幅为2,内核大小为3.
使用带填充的tf.layers.conv2d相同: 情况1:
案例2:
您可以看到填充将取决于输入大小.确定具有相同的填充,使得输出大小为Math.ceil(input_size / stride).您可以阅读有关该here的更多信息. 使用resnet的固定填充实现: 情况1:
案例2:
填充由内核大小唯一定义,并且与输入大小无关. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |