tensorflow - 为什么训练和加载模型给出不同的评估结果?82% 对 5%
问题描述
我实现了我的 seq-Keras 模型并成功训练。
...
model.fit(...)
...
>>Result: Successfully completed: TrainAcc=99%, ValAcc=88%
下一步: 现在我运行此代码:
model.save('Model88.h5')
model.evaluate(X_test, y_test)
Result >> accuracy: 0.8216
下一步: 但是当我加载保存的模型(Model88)并评估它时:
model = keras.models.load_model('Model88.h5')
model.evaluate(X_test, y_test)
Result >> accuracy: 0.0214 !!!
测试数据是一样的,保存的模型和加载的模型是一样的!
为什么会这样?准确率:82% -> 5%!!!
解决方案
我之前遇到过同样的问题,我发现在训练过程中测试准确率计算错误。我已将测试批量大小更改为 1 来修复它。
推荐阅读
- docker - 如何使用 docker-compose 运行 freeradius
- mongodb - MongoDB 文本评分
- shell - 为什么我无法通过 unix shell 脚本连接到 ftp 服务器?
- go - 如何按顺序运行处理程序函数
- r - 数据框列名中的单词之间的空格会导致闪亮的应用程序出现问题
- azure-data-factory - Azure 数据工厂中的数据流不支持具有自托管集成运行时的链接服务
- python - Pandas Comprehension to Change Row value based on two conditions
- c# - wpf C#中的父控件ChildControl事件内部
- python - Beautifulsoup 无法抓取元素
- navigation - 浏览器 Flutter web 中不显示完整 URL