我是深度神经元网络世界的新手。我尝试使用 TensorFlow Keras 工具包训练我的一个模型。
我设法使用 fit
函数训练了一个模型。 50 个 epoch 的准确度很好 - 大约 96%,并且该模型可以很好地预测新数据。问题是当我尝试评估加载的模型时,结果就像模型根本没有经过训练(准确率约为 50%)。
我准备了小测试。我在 fit
之后评估模型。然后我保存模型,加载它,并再次评估它。结果是如此不同。我认为可能权重没有正确加载,但文档表明保存和加载功能在整个模型上运行。这是我的代码:
CNNmodelHistory = model.fit(train_data, batch_size=batch_size, validation_data=test_data, steps_per_epoch=train_data.samples // batch_size,
epochs=echos)
scores = model.evaluate(test_data, verbose=0)
print(f'Test loss: {scores[0]} / Test accuracy: {scores[1]}')
# save the model to disk
model.save('gender_detection.modelTest')
modelLoaded = keras.models.load_model('gender_detection.modelTest')
scores = modelLoaded.evaluate(test_data, verbose=0)
print(f'Test loss: {scores[0]} / Test accuracy: {scores[1]}')
你对我做错了什么有什么建议吗?