我正在尝试将 numpy 数组重塑为:
data3 = data3.reshape((data3.shape[0], 28, 28))
哪里data3
是:
[[54 68 66 ..., 83 72 58]
[63 63 63 ..., 51 51 51]
[41 45 80 ..., 44 46 81]
...,
[58 60 61 ..., 75 75 81]
[56 58 59 ..., 72 75 80]
[ 4 4 4 ..., 8 8 8]]
data3.shape
是(52, 2352 )
但我不断收到以下错误:
ValueError: cannot reshape array of size 122304 into shape (52,28,28)
Exception TypeError: TypeError("'NoneType' object is not callable",) in <function _remove at 0x10b6477d0> ignored
发生了什么以及如何解决此错误?
更新:
我这样做data3
是为了获得上面使用的那个:
def image_to_feature_vector(image, size=(28, 28)):
return cv2.resize(image, size).flatten()
data3 = np.array([image_to_feature_vector(cv2.imread(imagePath)) for imagePath in imagePaths])
imagePaths 包含我的数据集中所有图像的路径。我实际上想将 data3 转换为 a flat list of 784-dim vectors
,但是
image_to_feature_vector
函数将其转换为 3072-dim 向量!!