我正在尝试将我正在使用的网络从使用 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)
2 回答
ITMISS
TA贡献1871条经验 获得超8个赞
我得到的输出张量维度与预期不同。
这是因为默认情况下, slim.conv2d 使用相同的填充,而 tf.layers.conv2d 使用有效的填充。
如果你想重现完全相同的行为,这里是正确的实现:
x = tf.layers.conv2d(x, 256, 3, padding='same')
添加回答
举报
0/150
提交
取消