我试图用正确的尺寸创建一个模型 . 我的训练数据的形状是 len(x_train)
= 1108和 len(x_train)[0]
= 29430,但我似乎正在使形状不正确 . ( Headers 中的确切错误消息位于标有星号的地方*** . )
我运行了一个模型摘要,所以形状应该是这样的:
图层(类型)输出形状
帕拉姆#
连接到
input_1(InputLayer)
(无,29430)
0
[没有]
dense_1(密集)
(无,64)
1883584
INPUT_1 [0] [0]
dense_2(密集)
(无,29430)
1912950
dense_1 [0] [0]
inputs = Input(shape=(29430, ))
h = Dense(64, activation='sigmoid')(inputs)
outputs = Dense(29430)(h)
model = Model(input=inputs, output=outputs)
model.summary()
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, # ***
batch_size=batch,
#epochs=epochs,
validation_data=(x_test, y_test),
callbacks=[TestCallback((x_test, y_test))])
h.trainable = False
outputs = Dense(1)(h)
outputs = Activation('sigmoid')
model2 = Model(input=inputs, output=outputs)
model2.fit(x_train, y_train,
batch_size=batch,
epochs=epochs,
validation_data=(x_test, y_test))
1 回答
看起来问题在于您提供的用于训练模型的标签 . 它们的形状为
(None, 1)
但模型的输出为(None, 29430)
,因此标签应具有相同的输出 .