python - tf.layers.conv2d和tf.contrib.slim.conv2d之间的区别

标签 python tensorflow neural-network deep-learning conv-neural-network

我正在尝试将使用的网络从使用tf-slim的conv2d转换为使用tf.layers.conv2d,因为看起来tf.layers是更受支持且面向 future 的选项。函数签名非常相似,但是两者在算法上有什么不同?我得到的输出张量尺寸与预期的不同。

x = tf.layers.conv2d(inputs=x,
                     filters=256,
                     kernel_size=[3,3],
                     trainable=True)

与此相反:
x = slim.conv2d(x, 256, 3)

最佳答案

I'm getting different output tensor dimensions than expected.



这是由于以下事实:默认情况下,slim.conv2d使用相同的填充,而tf.layers.conv2d使用有效的填充。

如果要重现完全相同的行为,请使用以下正确的实现:
x = tf.layers.conv2d(x, 256, 3, padding='same')

关于python - tf.layers.conv2d和tf.contrib.slim.conv2d之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52267314/

相关文章:

python - Pandas:if 语句有错误: 'single positional indexer is out-of-bounds' then else

python - lstm预测结果延迟现象

java - 从哪里开始使用神经网络进行手写识别?

python - 具有 'tanh' 作为激活和 'cross-entropy' 作为成本函数的神经网络不起作用

c - 在 opencv 中训练神经网络时出错

python - Jupyter:当内核就绪时以编程方式清除所有单元的输出

python - 循环卡在最后一个条目 python

python - 子集总和为 `itertools.combinations`

TensorFlow Serving 将图像作为 Cloud ML Engine 上的 base64 编码字符串

python - Keras RNN 回归输入维度和架构