美文网首页
irregular notes——model type,fowa

irregular notes——model type,fowa

作者: sunsimple | 来源:发表于2017-11-23 09:43 被阅读0次

    Caffe中的网络模型是利用文本protocol buffer(prototxt)语言定义的,学习好的模型会被序列化地存储在二进制protocol buffer(binaryproto).caffemodel文件中。使用这种方式的一个好处是可用多种语言实现高效的接口,尤其是C++和Python,这也使得Caffe模型有较好的灵活性与扩展性。另外,层和相应的参数都定义在caffe.proto文件中。

    Net::Forward()和Net::Backward()方法实现网络的前传和后传;Layer::Foward()和Layer::Backward()计算每一层的前传后传。另外,每一层都有forward_{cpu,gpu}和backward_{cpu,gpu}方法来适应不同的计算模式,但是由于条件限制或者为了使用便利,一个层可能仅实现了CPU或GPU模式。

    Solver作为一个优化器,在其优化一个模型时,首先通过调用前传来获得输出和损失,然后调用反传产生模型的梯度,将梯度与全职更新后相结合来最小化损失。Solver、网络和层之间的分工使得Caffe可以模块化并且开源。

    Caffe模型的学习被分为两个部分:由Solver进行优化、更新参数;由Net计算出loss和gradient。Caffe支持的solvers包括:Stochastic Gradient Descent(SGD),AdaDelta,Adaptive Gradient(AdaGrad),Adam,Nesterov's Accelerated Gradient(Nesterov),RMSprop.

    相关文章

      网友评论

          本文标题:irregular notes——model type,fowa

          本文链接:https://www.haomeiwen.com/subject/nqwvvxtx.html