[英]Keras model not learning
我的 Keras 模型没有学到任何东西,我不知道为什么。 我什至将训练集大小减少到 5 个元素,但模型仍然不适合训练数据。
这是我的代码:
model = Sequential()
model.add(Conv1D(30, filter_length=3, activation='relu', input_shape=(50, 1)))
model.add(Conv1D(40, filter_length=(3), activation='relu'))
model.add(Conv1D(120, filter_length=(3), activation='relu'))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(Dense(256, activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='relu'))
model.summary()
model.compile(loss='mse',
optimizer=keras.optimizers.adam())
train_limit = 5
batch_size = 4096
tb = keras.callbacks.TensorBoard(log_dir='./logs/' + run_name + '/',
histogram_freq=0, write_images=False)
tb.set_model(model)
model.fit(X_train[:train_limit], y_train[:train_limit],
batch_size=batch_size,
nb_epoch=10**4,
verbose=0,
validation_data=(X_val[:train_limit], y_val[:train_limit]),
callbacks=[tb])
score = model.evaluate(X_test, y_test, verbose=0)
print('Test loss:', score)
print('Test accuracy:', score)
非常感谢任何帮助!
这似乎是一个回归问题。 我注意到的一件事是您的最后一层仍然具有 ReLU 激活功能。 我建议在最后一层去掉 ReLU。
模型的最后一层有relu
激活。 相反,它应该有一个sigmoid
激活函数,因为它是一个二元分类问题。 如果是多类分类问题,则应在这种情况下使用softmax
激活。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.