TensorFlow中的FCN缺少裁剪层

zik*_*y90 4 python caffe tensorflow

我目前想实现FCN的语义分割在TensorFlow因为它是在来自Caffe以前那样在这里.

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

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

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

3)Caffe是否SoftmaxWithLoss对应TensorFlow softmax_cross_entropy_with_logits?

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

编辑2016年5月9日:

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

编辑2016年5月17日:

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

2)真的不需要裁剪层.

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

zik*_*y90 6

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

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

2)不需要裁剪层,可以使用output_sizetf.nn.conv2d_transpose层.

3)最后我用过 tf.nn.sparse_softmax_cross_entropy_with_logits