在Pytorch的官方文档中这个np.transpose()有点不明白它的含义。
查阅资料后:
plt.imshow(np.transpose(npimg, (1, 2, 0)))。
因为在plt.imshow在现实的时候输入的是
(imagesize,imagesize,channels)
imshow中,参数img的格式为(channels,imagesize,imagesize),
这两者的格式不一致,我们需要调用一次np.transpose函数,即np.transpose(npimg,(1,2,0)),
将npimg的数据格式由(channels,imagesize,imagesize)转化为(imagesize,imagesize,channels),进行格式的转换后方可进行显示。
我自己的理解:
import numpy as np
t=np.random.randint(1,10,size=(2,3,3))
print(t)
t=np.transpose(t,(2,0,1))
print(t)
我们首先生成一个 1-10取值的三维数组。
此处的 np.transpose(t,(2,0,1)) 0,
1,2代表了 原始位置,通过调节0,1,2的位置,来调节数组维数变换。
举个例子:
生成的数组是(2,3,3)
那么我想把它变成(3,2,3)
那么就是(2,0,1)