将通道最后转换为通道第一图像
Posted
技术标签:
【中文标题】将通道最后转换为通道第一图像【英文标题】:Converting channel last to channel first image 【发布时间】:2018-10-30 08:35:08 【问题描述】:我有以下尺寸的图像张量
TensorShape([Dimension(1), Dimension(96), Dimension(96), Dimension(3)])
我希望这个张量在通道第一维中
TensorShape([Dimension(1), Dimension(2), Dimension(96), Dimension(96)])
我试过了
tf.transpose (image, perm = [0,3,1,2])
但它不起作用它与以前一样返回。
既然这是 Facenet 算法的要求,请提出方法。
【问题讨论】:
你不能只是重塑,这将返回无效值。例如。如果您的输入是 [[1,2,3],[4,5,6]],则转置 ([[1,4],[2,5],[3,6]]) 之间存在很大差异和简单的整形([[1,2],[3,4],[5,6]])。但是我怀疑 OP 没有正确使用转置,因为它应该完成这项工作。请提供更完整的代码示例。 Convert between NHWC and NCHW in TensorFlow的可能重复 【参考方案1】:您可以尝试将张量转换为 NumPy 数组,然后使用 np.rollaxis 并转换回 Tensorflow 张量。
【讨论】:
以上是关于将通道最后转换为通道第一图像的主要内容,如果未能解决你的问题,请参考以下文章