TensorFlow 中的 FCN 缺少作物层
FCN in TensorFlow missing crop layer
我目前正在尝试实施 FCN for semantic segmentation in TensorFlow as it was previously done in Caffe here。
不幸的是,我正在为以下三件事而苦苦挣扎:
1) 如何将 "Deconvolution" 层从 Caffe 映射到 TensorFlow?正确吗tf.nn.conv2d_transpose
?
2) 如何将 "Crop" 层从 Caffe 映射到 TensorFlow?不幸的是,我在 TensorFlow 中看不到任何替代方案。 TensorFlow 中是否有对应的方法?
3)CaffeSoftmaxWithLoss
是否对应TensorFlowsoftmax_cross_entropy_with_logits?
提前感谢您的任何建议、提示和帮助。
编辑 2016 年 5 月 9 日:
1) 发现tf.nn.conv2_transpose
确实对应反卷积层
2) 裁剪层现在看来真的是个问题。我发现确实存在 tf.image.resize_image_with_crop_or_pad
,但这似乎无法用于此目的,因为它不能用于动态创建的张量,也不能用于在 [=12= 之后需要使用的 4D 张量]层。
更多信息可能在:https://github.com/tensorflow/tensorflow/issues/2049
编辑 2016 年 5 月 17 日:
我听从了@24hours 的建议并在 tensorflow 中构建了 FCN,尽管我无法让它训练任意大小的数据。
2)确实不需要裁剪层
3) 我最后使用了 tf.nn.sparse_softmax_cross_entropy_with_logits
,它对我有用。
感谢@24hours 的建议,我找到了所有 3 个问题的答案。不幸的是,tensorflow 中任意大小的 FCN 比 caffe 中的要复杂一些,但希望我也能尽快解决这个问题。
1) tf.nn.conv2d_transpose
可以用
2)不需要裁剪层,可以用tf.nn.conv2d_transpose
层的output_size
代替。
3) 最后我用了tf.nn.sparse_softmax_cross_entropy_with_logits
我找到了在 tensorflow 中通过实现裁剪层解决任意大小图像的方法。现在,当只传递单个图像时,它可以用于您想要的任何大小的图像。有关我的解决方案的更多信息,请参见:
我目前正在尝试实施 FCN for semantic segmentation in TensorFlow as it was previously done in Caffe here。
不幸的是,我正在为以下三件事而苦苦挣扎:
1) 如何将 "Deconvolution" 层从 Caffe 映射到 TensorFlow?正确吗tf.nn.conv2d_transpose
?
2) 如何将 "Crop" 层从 Caffe 映射到 TensorFlow?不幸的是,我在 TensorFlow 中看不到任何替代方案。 TensorFlow 中是否有对应的方法?
3)CaffeSoftmaxWithLoss
是否对应TensorFlowsoftmax_cross_entropy_with_logits?
提前感谢您的任何建议、提示和帮助。
编辑 2016 年 5 月 9 日:
1) 发现tf.nn.conv2_transpose
确实对应反卷积层
2) 裁剪层现在看来真的是个问题。我发现确实存在 tf.image.resize_image_with_crop_or_pad
,但这似乎无法用于此目的,因为它不能用于动态创建的张量,也不能用于在 [=12= 之后需要使用的 4D 张量]层。
更多信息可能在:https://github.com/tensorflow/tensorflow/issues/2049
编辑 2016 年 5 月 17 日:
我听从了@24hours 的建议并在 tensorflow 中构建了 FCN,尽管我无法让它训练任意大小的数据。
2)确实不需要裁剪层
3) 我最后使用了 tf.nn.sparse_softmax_cross_entropy_with_logits
,它对我有用。
感谢@24hours 的建议,我找到了所有 3 个问题的答案。不幸的是,tensorflow 中任意大小的 FCN 比 caffe 中的要复杂一些,但希望我也能尽快解决这个问题。
1) tf.nn.conv2d_transpose
可以用
2)不需要裁剪层,可以用tf.nn.conv2d_transpose
层的output_size
代替。
3) 最后我用了tf.nn.sparse_softmax_cross_entropy_with_logits
我找到了在 tensorflow 中通过实现裁剪层解决任意大小图像的方法。现在,当只传递单个图像时,它可以用于您想要的任何大小的图像。有关我的解决方案的更多信息,请参见: