在已经训练好的模型的基础上做增量训练,用的batch train, 想要看下训练的模型效果,我用同样的数据,理论上讲,同样的数据,同样的模型和参数,得到的效果应该一样--第一次训练的acc已经接近1,再用同样的数据增量训练,acc应该也是接近, 但实际上效果越来越差,acc只有0.8, 如果再增量第二次第三次, acc越来越小。
但是如果不用batch train, 直接读到内存里,acc就是1,可是数据量较大时,这种方法就不适用了。
在已经训练好的模型的基础上做增量训练,用的batch train, 想要看下训练的模型效果,我用同样的数据,理论上讲,同样的数据,同样的模型和参数,得到的效果应该一样--第一次训练的acc已经接近1,再用同样的数据增量训练,acc应该也是接近, 但实际上效果越来越差,acc只有0.8, 如果再增量第二次第三次, acc越来越小。
但是如果不用batch train, 直接读到内存里,acc就是1,可是数据量较大时,这种方法就不适用了。
两种可能,一种可能是TF的计算问题,TF计算Accuracy是按batch算,有可能你batch train最后一个batch刚好错误多
另一种可能是全部数据载入是直接求全局最优解,二batch train是在batch上做优化,容易陷入局部最优出不来,没非batch效果好。