slover层解读
void Solver<Dtype>::UpdateSmoothedLoss(Dtype loss, int start_iter, int average_loss) { if (losses_.size() < average_loss) { losses_.push_back(loss); int size = losses_.size(); smoothed_loss_ = (smoothed_loss_ * (size - 1) + loss) / size; } else { int idx = (iter_ - start_iter) % average_loss; smoothed_loss_ += (loss - losses_[idx]) / average_loss; losses_[idx] = loss; } }
updatesmoothedloss这个方法继承了这个类,所以虽然他自己没定义smoothed_loss_,但类里面有,他这个进行改变,就在类中进行了改变
很重要的一个博客:
http://blog.****.net/buyi_shizi/article/details/51504276