solver文件通过整合网络的前向推断和反向梯度来更新参数降低loss。
caffe中solver的作用包括:
1.搭建优化日志,创建训练网络用来学习,创建测试网络用于评估(感觉类似于初始化)
2.通过循环调用前向和反向网络来更新优化参数
3.周期性评估测试网络
4.记录优化过程中model及solver的状态
在solver还能设置循环的次数,那么在每次循环中要做的事情包括:
1.调用前向网络计算输出和loss
2.调用反向网络计算梯度
3.根据solver中的优化方法,结合梯度更新参数
4.根据学习率、历史数据和方法根据solver状态
caffe中提供的solver优化方法包括:
可以在solver中选择type,若不设置则默认为SGD方法。