channel first和channel last之间的转换方法
Posted bug404
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了channel first和channel last之间的转换方法相关的知识,希望对你有一定的参考价值。
在pytorch中,一般图像信息都是channel first,即通道数在前。比如一张84 x 84 x 3的图片,传到pytorch的时候需要按照(3, 84, 84)的shape传进去。那么怎样将(84, 84, 3)的shape转换成(3, 84, 84)以及相互转换呢?
x = np.zeros((12, 12, 3))
x.shape
#yields:
(12, 12, 3)
x = np.moveaxis(x, -1, 0)
x.shape
#yields:
(3, 12, 12)
x = np.zeros((3, 12, 12))
x.shape
#yields:
(3, 12, 12)
x = np.moveaxis(x, 0, -1)
x.shape
#yields:
(12, 12, 3)
看例子,当然是借助np.moveaxis函数了。moveaxis的第二个参数的意思是原始索引的位置,最后一个参数代表目标的索引位置。
参考:
以上是关于channel first和channel last之间的转换方法的主要内容,如果未能解决你的问题,请参考以下文章