keras搭的模型,训练时候,使用相同的loss和metrics,但是输出却不一样,为什么会出现这种情况呀
这很正常,因为初始条件的不同,运算误差,所以训练结果具有一定的随机性
引用一下知乎的回答吧:
此时的loss是指完成最后一个batch后得到的这轮epoch的loss的加权平均,权重就是每个batch的样本数,(因为最后一个batch样本数往往跟训练时指定的不一样),完成最后一个batch后,此时loss已经固定了,但是仍然需要反向更新网络中的参数。注意,metrics是在这次更新完参数后对标签值和预测值进行计算,这里的预测值是模型训练完成后再正向传播得到的ouput,因此相比于loss中的y_pred,metrics的y_pred使用新的神经网络参数计算的,自然数值也就不一样了。
作者:WinterPrince
链接:https://www.zhihu.com/question/323251494/answer/719247402
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。