我正在尝试使用tensorflow高级API来开发模型,我在培训和可视化阶段发现了一个问题:
对于相同的model_fn(),每次我尝试调用estimator.train()方法时,global_step将从我上次训练的步骤增加。例如,如果上次运行estimator.train()方法进入global_step = 2000,那么这次当我开始训练模型时,它将从2000年,2001年,2002年开始累计......
我的问题是:出于某种原因,我想每次都从头开始训练模型。也就是说,当我再次开始训练时,我不需要估算器来恢复以前训练过的重量。
目前,我只是在每次启动新培训之前手动删除检查点和事件文件,而且效率非常低。然而,即便如此,上次仍然存在残余曲线,我无法以这种方式删除。
我该如何处理?
答案 0 :(得分:0)
model_dir选项是您提供保存模型的路径(检查点和其他内容)。因此,每次您开始训练时,它都会查找该路径并查看是否存在任何检查点,如果有,它将选择最后一个检查点并将权重加载到模型中并开始训练,这就是每次检查点增加的原因。
似乎有一种方法可以完全停止保存检查点,请查看此link。
当前,每次我想开始新的培训时,我都会为model_dir路径指定一个新位置。我将检查路径是否存在,否则将创建该文件夹。