我正在使用caffe训练AlexNet使用我自己的数据。我看到的一个问题是“训练净输出”损失和“迭代丢失”在训练过程中几乎相同。而且,这种损失有波动。 像:
... ...Iteration 900, loss 0.649719 ... Train net output #0: loss = 0.649719 (* 1 = 0.649719 loss ) ... Iteration 900, lr = 0.001 ...Iteration 1000, loss 0.892498 ... Train net output #0: loss = 0.892498 (* 1 = 0.892498 loss ) ... Iteration 1000, lr = 0.001 ...Iteration 1100, loss 0.550938 ... Train net output #0: loss = 0.550944 (* 1 = 0.550944 loss ) ... Iteration 1100, lr = 0.001 ...
我的solver
是:
net: "/train_val.prototxt"
test_iter: 1999
test_interval: 10441
base_lr: 0.001
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 100
max_iter: 208820
momentum: 0.9
weight_decay: 0.0005
snapshot: 10441
snapshot_prefix: "/caffe_alexnet_train"
solver_mode: GPU
答案 0 :(得分:5)
average_loss
次迭代。另一方面,报告的"列车净输出......" 仅报告当前迭代的每个净输出。average_loss
中设置'solver'
,因此默认情况下设置为average_loss=1
。由于您只有一个损失输出loss_weight=1
报告的&#34;列车净输出...&#34; 和&#34;迭代丢失&#34; < / em>是相同的(达到显示精度)。 总结:你的输出完全正常。