猿问

tf.layers.conv2d 和 tf.contrib.slim.conv2d 的区别

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


x = tf.layers.conv2d(inputs=x,

                     filters=256,

                     kernel_size=[3,3],

                     trainable=True)

与此相反:


x = slim.conv2d(x, 256, 3)


偶然的你
浏览 304回答 2
2回答

ITMISS

我得到的输出张量维度与预期不同。这是因为默认情况下, slim.conv2d 使用相同的填充,而 tf.layers.conv2d 使用有效的填充。如果你想重现完全相同的行为,这里是正确的实现:x = tf.layers.conv2d(x, 256, 3, padding='same')
随时随地看视频慕课网APP

相关分类

Python
我要回答