我有一个大小为
现在我想以一种保留数据的方式创建一个形状为
5000x32x32x3
的numpy数组。数字5000是图像数量,每个图像的宽度和高度都是32x32
,有3
个颜色通道。现在我想以一种保留数据的方式创建一个形状为
5000x3x32x32
的numpy数组。我所说的保留数据是:
- 结果数组中应该有5000个数据点
- 数组的第二个维度(
3
)正确确定了颜色通道,即所有第二个维度为0
的元素属于红色通道,第二个维度为1
的元素属于绿色通道,第二个维度为2
的元素属于蓝色通道。
np.reshape(data,(5000,3,32,32))
进行重塑是不行的,因为它不会保留通道,只是将数据重塑成所需的形状。
numpy.swapaxes
https://docs.scipy.org/doc/numpy/reference/generated/numpy.swapaxes.html。通过两个轴的转置应该可以实现。 - Learning is a messnp.transpose(data, (0,3,1,2))
应该能够满足你的需求。 - Learning is a mess