Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
431 views
in Technique[技术] by (71.8m points)

machine learning - Why does model.evalute() return incorrect accuracy in Keras?

I trained a model with tensorflow.keras.applications.Xception. The model after training got loss less than 0.2 and accuracy more than 0.9. I predicted with the test dataset, its result matches the accuracy, more than 90% are correct. But when I called model.evaluate() with the same test dataset, its loss decreased from high to low until less than 0.2, and its accuracy grows from 0 to just more than 0.02. I repeated this function with just one sample each time, its result kept as the first time called, with loss quite high, and accuracy of 0. Why is the accuracy so low? Is it the correct behavior that the loss decreases the same as in training? Thanks!

This is the last result of the batch-evaluate:

loss: 0.6401 - dense_loss: 0.1283 - dense_1_loss: 0.1789 - dense_2_loss: 0.1638 - dense_3_loss: 0.1691 - dense_accuracy: 0.0137 - dense_1_accuracy: 0.0265 - dense_2_accuracy: 0.0261 - dense_3_accuracy: 0.0205

snapshot of model.evalute

question from:https://stackoverflow.com/questions/65844619/why-does-model-evalute-return-incorrect-accuracy-in-keras

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...