为了账号安全,请及时绑定邮箱和手机立即绑定

ValueError:检查输入时出错:预期 conv2d_36_input 的形状为

ValueError:检查输入时出错:预期 conv2d_36_input 的形状为

慕容森 2022-06-02 17:26:41
当我尝试运行我的训练模型时出现错误,我应该怎么做才能通过错误报告?我的模型或我的重塑部分有什么问题吗?这是我的重塑部分# Reshape and normalize training datatrainX = train.reshape(train.shape[0], 1, 10, 10).astype( 'float32' )x_train = trainX / 255.0y_train = train[:,99]# print(y_train)# # # Reshape and normalize test datatestX = test.reshape(test.shape[0], 1, 10, 10).astype(     'float32' )x_test = testX / 255.0y_test = test[:,99]# print(y_test)这是我的模型:model = Sequential()model.add(Conv2D(32, (3, 3), input_shape=(3, 32, 32), activation='relu', padding='same'))model.add(Dropout(0.2))model.add(BatchNormalization())model.add(Conv2D(64, (3, 3), padding='same'))model.add(Activation('relu'))model.add(MaxPooling2D(pool_size=(2, 2)))model.add(Dropout(0.2))model.add(BatchNormalization())然后如果我将我的数据重塑为 3*32*32 然后出现值错误报告:---------------------------------------------------------------------------ValueError                                Traceback (most recent call last)<ipython-input-31-36bf3e556ae8> in <module>()----> 1 trainX = train.reshape(train.shape[0], 3, 32, 32).astype( 'float32' )  2 x_train = trainX / 255.0  3 y_train = train[:,10]  4 # print(y_train)  5 # # # Reshape and normalize test data
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

训练和测试数据集的输入形状与您的模型不同。使用input_shape()时,您需要记住所需输入的大小。在您的情况下,您的形状看起来像 (1,10,10),这是一个 10x10 图像,具有一级通道/深度(即黑白图像)。但是,您使用的模型需要 (3,32,32) 形状,该形状被转换为 32x32 尺寸的彩色图像(即 3 通道代表 RGB 颜色)。

因此,如果您按照以下代码更改模型,它可能会起作用,但您还需要优化其他参数,例如 Conv2D 所需的特征图:

model.add(Conv2D(32, (3, 3), **input_shape=(1, 10, 10)**,activation='relu', padding='same'))


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号