python - 无法将大小为 (x,) 的数组重塑为形状 (x,y,z,1)
问题描述
我正在尝试将形状为 的 numpy ndarray 转换为形状为(2200,)
的 numpy ndarray (2200,250,250,1)
。每一行都包含一个图像(shape: 250,250,1)
这是我的对象:
type(x_train_left)
印刷numpy.ndarray
x_train_left.shape
印刷(2200,)
type(x_train_left[0])
印刷numpy.ndarray
x_train_left[0].shape
印刷(250, 250, 1)
但是由于某种原因,当我尝试重塑时x_train_left
出现(2200,250,250,1)
以下错误:
ValueError: cannot reshape array of size 2200 into shape (2200,250,250,1)
感谢您的帮助,我搜索了重复的主题,但它们都有不同的问题。
解决方案
我找到了非常简单的解决方案:
np.stack(x_train_left)
然后当我尝试时:
x_train_left.shape
印刷(2200, 250, 250, 1)