首页 文章

TensorFlow中的FCN缺少裁剪层

提问于
浏览
4

我目前正在尝试在TensorFlow中实现FCN for semantic segmentation,就像之前在Caffe here中所做的那样 .

不幸的是,我正在努力完成以下三件事:

1)如何将"Deconvolution"层从Caffe映射到TensorFlow?这是正确的 tf.nn.conv2d_transpose

2)如何将“Crop”图层从Caffe映射到TensorFlow?不幸的是,我在TensorFlow中看不到任何替代方案 . 在TensorFlow中有相同的效果吗?

3)Caffe SoftmaxWithLoss 对应于TensorFlow softmax_cross_entropy_with_logits吗?

提前感谢您提供任何建议,提示和帮助 .

EDIT 9th May 2016:

1)我发现 tf.nn.conv2_transpose 确实对应于反卷积层 .

2)目前作物层似乎确实是一个问题 . 我发现实际上存在tf.image.resize_image_with_crop_or_pad,但这似乎不可能用于此目的,因为它不能用于动态创建的张量,也不能用于 tf.nn.conv2_transpose 层之后需要使用的4D张量 .

可能会提供更多信息:https://github.com/tensorflow/tensorflow/issues/2049

EDIT 17th May 2016:

我已经关注@ 24hours建议并在tensorflow中构建FCN,尽管我无法对任意大小的数据进行训练 .

2)真的不需要裁剪层 .

3)我最后使用了 tf.nn.sparse_softmax_cross_entropy_with_logits ,它对我有用 .

2 回答

  • 6

    感谢@ 24hours的建议,我找到了所有3个问题的答案 . 不幸的是,张量流中任意大小的FCN都比caffe复杂一点,但希望我能很快解决这个问题 .

    1) tf.nn.conv2d_transpose 可以使用 .

    2)不需要裁剪层,可以使用 tf.nn.conv2d_transpose 层的 output_size 代替 .

    3)最后我使用了 tf.nn.sparse_softmax_cross_entropy_with_logits

  • 0

    通过实现裁剪层,我找到了在tensorflow中解决任意大小图像的方法 . 现在只需传递单个图像,就可以使用任何尺寸的图像 . 有关我的解决方案的更多信息,请访问:https://stackoverflow.com/a/45632285/3134418

相关问题