概述
前面介绍了网络Net模块来描述一个神经网络,Solver负责生成训练网络和测试网络并按照算法对网络进行参数优化。跟Layer一样,Caffe把Solver实现成一个接口,使得开发者可以开发自己的Solver,其中Solver的子类需要实现ApplyUpdate函数来根据当前网络的状态对网络参数进行更新。我们可以通过SolverParameter给Solver配置一个训练网络和若干个测试网络。测试网络的作用是我们每进行若干次训练和参数更新之后,我们可以把当前的网络参数用在测试网络上测试效果。Solver也提供了接口使得客户端可以发出指令要求Solver终止训练(如果发现在测试集上效果变差)或者做快照(以便下次可以从快照开始继续训练而不用重新开始)。前面介绍了网络Net模块来描述一个神经网络,Solver负责生成训练网络和测试网络并按照算法对网