评估训练和加载的 CNN keras 模型问题

时间:2021-04-29 13:13:57

标签: tensorflow keras conv-neural-network

我是深度神经元网络世界的新手。我尝试使用 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]}')

结果如下: enter image description here

你对我做错了什么有什么建议吗?

0 个答案:

没有答案