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.csdn.net/buyi_shizi/article/details/51504276

posted @ 2017-10-29 22:52  有梦就要去实现他  阅读(331)  评论(0编辑  收藏  举报