检查模型目标时出错:预期density_2具有2维,但数组的形状为(32,4,4)

时间:2019-05-06 22:51:14

标签: keras neural-network conv-neural-network

我在贴合标签之前的形状是(32,4,4),在贴合之前要训练的数据是(32,28,28,3)。当一切都输入到模型中时,我的数据形状为(40,28,28,3),标签为(40,4)。

这是我的模型的样子:

model = Sequential()

model.add(Convolution2D(32, (3, 3), activation='relu', input_shape=(28,28,3)))
model.add(Convolution2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.25))

model.add(Flatten())

model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(len(users), activation='softmax')) 
model.compile(loss='categorical_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

model.fit(X_train, y_train, 
          batch_size=32, nb_epoch=1000, verbose=1)

score = model.evaluate(X_test, y_test, verbose=0)

怎么使我的标签具有三维尺寸?

编辑:我知道我的标签需要为(32,4),并且将它们传递为(40,4)。我不知道(32,4,4)来自哪里。应该是(32,4),但是它在某处获得了第三维。

0 个答案:

没有答案