使用Caffe库恢复快照快照训练时,训练/验证丢失不一致

时间:2018-08-09 16:37:47

标签: python deep-learning caffe

我们知道,当给出快照时,Caffe支持恢复训练。可以在here中找到Caffe训练延续方案的说明。但是,我发现训练损失和验证损失不一致。我给出以下示例来说明我的观点。假设我正在训练一个最大迭代次数为1000的神经网络,而每100个训练迭代次数将保留一个快照。使用以下命令完成此操作:

caffe train -solver solver.prototxt

其中批量大小选择为64,在Solver.prototxt中,我们具有:

  test_iter: 4
  max_iter: 1000
  snapshot: 100
  display: 100
  test_interval: 100

我们仔细选择test_iter=4,以便它将对几乎所有验证数据集执行测试(有284个验证样本,比4 * 64大一点)。

这将为我们提供.caffemodel和.solverstate文件的列表。例如,我们可能具有solver_iter_300.solverstate和solver_iter_300.caffemodel。生成这两个文件时,我们还可以看到训练损失(13.7466)和验证损失(2.9385)。

现在,如果我们使用快照Solver_iter_300.solverstate继续训练,则:

 caffe train -solver solver.prototxt -snapshot    solver_iter_300.solverstate 

我们可以看到训练损失和验证损失分别为12.6和2.99。他们不同于以前。有任何想法吗?谢谢。

0 个答案:

没有答案