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的第二个参数的意思是原始索引的位置,最后一个参数代表目标的索引位置。


参考:

​https://stackoverflow.com/questions/43829711/what-is-the-correct-way-to-change-image-channel-ordering-between-channels-first​


以上是关于channel first和channel last之间的转换方法的主要内容,如果未能解决你的问题,请参考以下文章

Fabric 动态增加组织

数据不保存到json?

SimpleITK 和 Nibabe

SimpleITK 和 Nibabe

Fabric samples first network byfn sh up 频道创建失败

Discord.js 查找频道时的问题