1.输入输出不同
model.evaluate 输入数据(data)和真实标签(label),然后将预测结果与真实标签相比较,得到两者误差并输出.
model.predict 输入数据(data),输出预测结果
2是否需要真实标签
model.evaluate 需要,因为需要比较预测结果与真实标签的误差
model.predict 不需要,只是单纯输出预测结果,全程不需要标签的参与。

用手写数字识别检验
未训练取一个batchsize,evaluate算出
loss=2.31,acc=0.09

sample = next(iter(db))
x = sample[0]
y = sample[1]  # one-hot
loss,accuracy = network.evaluate(x,y)

fit训练过后,loss: 0.0112 - accuracy: 1.0000
可见明显提高
这里的loss和acc是compile里的loss和accuracy

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐