值错误:无法将大小为2395575的数组整形为形状(3227227)

2024-04-24 10:39:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在keras中运行以下代码。在

虚拟数据集的图像大小为227x227x3。在jpg的train文件夹中有21张图片,test文件夹中有7张图片,当我运行以下代码时,它给出了错误:

ValueError: cannot reshape array of size 2395575 into shape (3,227,227)

我努力想得到结果,但没能找到解决问题的方法:

def get_pixels(fnames,is_test):
    imgs = loadImages(fnames, is_test)
    pixel_list = []
    for img in imgs:
        img = img.resize((227, 227), Image.ANTIALIAS)
        arr = array(img, dtype="float32")
        pixel_list.append(list(arr))
    return np.array(pixel_list)


(X_train, y_train), (X_test, y_test), label_names = ((X_train, iy_train),
(X_test, y_test),class_names)
X_train = X_train.reshape(-1, 3, 227, 227).astype('float32')
X_test = X_test.reshape(-1, 3, 227, 227).astype('float32')
n_classes = len(label_names)
X_train = X_train[:, :, 16:-16, 16:-16]
X_test = X_test[:, :, 16:-16, 16:-16]


data_mean = X_train.mean(axis=0)
X_train -= data_mean
X_test -= data_mean

get_pixels函数获取图像并调整其大小。在


Tags: 代码test图像文件夹imgdatanames图片