### 无效参数错误:重塑输入的张量有7872512个值,但请求的形状需要6400的倍数

大家好,我是深度学习的新手,目前正在尝试实现一个图像分类器,但在运行包含fit方法的单元格时,出现了以下错误。我不知道如何解决这个错误,我还查看了关于这个错误的各种类似帖子,但没有找到解决方法。如果你知道如何解决这个问题,请帮助我,并且简要说明一下为什么会出现这种问题。

无效参数错误:重塑输入的张量有7872512个值,但请求的形状需要6400的倍数 [[节点sequential_7/flatten_6/Reshape (在:1定义)]][操作:__inference_train_function_5120]

函数调用堆栈:train_function

import pandas as pdimport numpy as npimport cv2import tensorflow as tffrom   keras.preprocessing.image import ImageDataGeneratortrain_datagen = ImageDataGenerator(rescale=1. / 255,    shear_range=0.2,    zoom_range=0.2,    horizontal_flip=True)training_set = train_datagen.flow_from_directory('drive/MyDrive/EmotionDetectionDataset/dataset/train')test_datagen = ImageDataGenerator(rescale=1. / 255)validation_generator = test_datagen.flow_from_directory('drive/MyDrive/EmotionDetectionDataset/dataset/test',target_size=(48,48),batch_size=32,class_mode='categorical')test_set = validation_generatorcnn = tf.keras.models.Sequential()cnn.add(tf.keras.layers.Conv2D(filters=32,kernel_size = 3,activation='relu',input_shape=[48,48,3]))cnn.add(tf.keras.layers.MaxPool2D(pool_size=(2,2),strides=2))cnn.add(tf.keras.layers.Conv2D(filters=64,kernel_size = 3,activation='relu'))cnn.add(tf.keras.layers.MaxPool2D(pool_size=(2,2),strides=2))cnn.add(tf.keras.layers.Flatten())cnn.add(tf.keras.layers.Dense(units=128,activation='relu'))cnn.add(tf.keras.layers.Dense(units=7,activation='relu'))cnn.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['accuracy'])cnn.fit(x=training_set,validation_data=test_set,epochs=25)

回答:

你忘记为训练集指定目标尺寸,使用的默认值是(256,256),但你使用的是(48,48)

training_set = train_datagen.flow_from_directory('drive/MyDrive/EmotionDetectionDataset/dataset/train', target_size=(48,48),batch_size=32,class_mode='categorical')validation_generator = test_datagen.flow_from_directory('drive/MyDrive/EmotionDetectionDataset/dataset/test',target_size=(48,48),batch_size=32,class_mode='categorical')

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注