【问题标题】:Why Trained and Loaded Model is giving different evaluate result? 82% vs 5%为什么训练和加载模型给出不同的评估结果? 82% 对 5%
【发布时间】:2020-10-02 17:13:25
【问题描述】:

我实现了我的 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% !!!!

【问题讨论】:

    标签: tensorflow keras deep-learning computer-vision training-data


    【解决方案1】:

    我之前遇到过同样的问题,我发现在训练过程中测试准确率计算错误。我已将测试批次大小更改为 1 来修复它。

    【讨论】:

    • 感谢您的及时回复 :) 是的,您是对的!我找到答案了!评估值的解决方案是 1-我错了,我不应该使用:X-testx-test 是对的!!!但是,训练和加载数据仍然不同!!解决方案:2- 我应该只使用KerasJUST Tensorflow.Keras,我的错误是同时使用Tensorflow.KerasKeras 包。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 2020-02-19
    相关资源
    最近更新 更多