【发布时间】:2020-02-20 16:17:08
【问题描述】:
我正在训练一个 unet 神经网络。在训练期间,每次迭代都有一个“损失值”。这个值通常会收敛,但有时会跳来跳去。 .caffemodel 文件中最终保存了哪些权重?
如果我在第 20000 次迭代时保存它会发生什么,而这恰好是损失稍微上升的点,并且不是它所见过的最低损失?是从上次迭代中保存的权重和偏差还是更智能的东西,例如最近 5% 迭代中的最低值?
谢谢
【问题讨论】:
我正在训练一个 unet 神经网络。在训练期间,每次迭代都有一个“损失值”。这个值通常会收敛,但有时会跳来跳去。 .caffemodel 文件中最终保存了哪些权重?
如果我在第 20000 次迭代时保存它会发生什么,而这恰好是损失稍微上升的点,并且不是它所见过的最低损失?是从上次迭代中保存的权重和偏差还是更智能的东西,例如最近 5% 迭代中的最低值?
谢谢
【问题讨论】:
Solver.prototxt 有一个参数叫做“snapshot”
net: "path/to/train.prototxt"
.
.
max_iter: 20000
snapshot: 1000
snapshot_prefix: "path/to/caffemodel/"
solver_mode: GPU
例如,如果您修复快照:1000,则每 1000 次迭代将保存一个 .caffemodel 文件,其权重对应于该次迭代,无论上一次迭代中的损失是否较小。
【讨论】: