ValueError:检查模型目标时发生错误:预期density_4具有形状(None,4),但数组的形状为(13252,1) [英] ValueError: Error when checking model target: expected dense_4 to have shape (None, 4) but got array with shape (13252, 1)

查看:297
本文介绍了ValueError:检查模型目标时发生错误:预期density_4具有形状(None,4),但数组的形状为(13252,1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,有人知道为什么会发生此错误吗? 这是错误

Hi does anyone have any ideas why this error is happening? Here is the error

ValueError: Error when checking model target: expected dense_4 to have   shape (None, 4) but got array with shape (13252, 1)

这是代码:

from keras.models import Sequential
from keras.layers import *

model = Sequential()
model.add(Cropping2D(cropping=((0,0), (50,20)), input_shape=(160 ,320, 3))) #(None, 90, 320, 3)
model.add(Lambda(lambda x: x/127.5 - 1.)) 
model.add(Convolution2D(32, 3, 3,)) #(None, 88, 318, 32)
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3)) #(None, 86, 316, 32)
model.add(Activation('relu'))
model.add(Flatten()) #(None, 869632)
model.add(Dense(128)) #(None, 128)
model.add(Activation('relu'))
model.add(Dense(4)) #(None, 4)
print(model.summary())

model.compile(loss='mse', optimizer='adam')
model.fit(X, y, validation_split=0.2, batch_size=32, nb_epoch=3, verbose=1)

输入形状为(X):

(13252, 160, 320, 3)

和(y):

(13252,)

推荐答案

由于您的网络具有四个输出,因此您的 y 必须为N x 4矩阵,而不是长度为N的向量.要么更改y,要么将最后一层更改为Dense(1)

Since your network has four outputs, your y has to be N x 4 matrix, not a vector of length N. Either change y, or last layer to be Dense(1)

这篇关于ValueError:检查模型目标时发生错误:预期density_4具有形状(None,4),但数组的形状为(13252,1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆