在numpy中重塑数组

Sar*_*hak 3 python arrays numpy

我有一个大小为 numpy 的数组5000x32x32x3。数字 5000 是图像的数量,每个图像都有32x32宽度和高度,并且有3颜色通道。

现在我想以5000x3x32x32保留数据的方式创建一个 numpy 形状数组。我所说的保留数据的意思是:

  1. 结果数组中应该有 5000 个数据点
  2. 3数组的第 2 维 ( ) 正确确定了颜色通道,即所有第 2 维0属于红色通道、第 2 维1属于绿色通道、第 2 维2属于蓝色通道的元素。

简单地重塑 bynp.reshape(data,(5000,3,32,32))是行不通的,因为它不会保留通道,而只是将数据重塑为所需的形状。

Lea*_*ess 5

我认为您正在寻找轴的排列,numpy.transpose可以完成这项工作:

data = np.transpose( data, (0, 3, 1, 2))
Run Code Online (Sandbox Code Playgroud)