caffe框架结构

来源:互联网 发布:写手游脚本的软件 编辑:程序博客网 时间:2024/05/18 03:24

  caffe模型有两个重要的参数文件:网络模型和参数配置,分别是*.prototxt和*.solver.prototxt文件。

  1、Caffe Blob

  Caffe使用Blob结构来存储、交换和处理网络中正向和反向迭代的数据和导数信息。Blob是Caffe的标准数组结构,提供了Caffe的统一内存接口。

  2、Caffe Layer

  层是Caffe模型的本质内容和执行计算的基本单元,可以进行卷积,池化,内积、rectified-linear和sogmoid等非线性运算,还有元素级的数据变换,normalize、load data、softmax和hinge等losses。

  一个典型的Caffe层通过buttom连接层接受数据,通过top连接层输出数据。每个Layer定义了三种重要的运算:setup、forward、backward.

  setup:模型初始化时重置layers及互相之间的连接;

  forward:从bottom层中接受输几局,计算后输出送到top层;

  backward:给定top层的输出梯度,计算其输入的梯度,并传递到bottom层。一个有参数的layer需要计算相对于各个参数的梯度值并存储在内部。

  简单讲,Layer承担了网络的两个核心操作:forward pass接受输入并输出,backward pass接受输出梯度,计算相对于参数和输入梯度并反向传播给前面的层。

  典型的Layer有:1、Date Layer 2、Convolution Layers 3、Pooling Layer 4、InnerProduct Layer 5、ReLU Layer 6、Sigmoid Layer 7、LRN Layer 8 、Dropout Layer 9、SoftmaxWithLoss Layer 10、Softmax Layer 11、Accuracy Layers

  3、Caffe Solver

  Caffe支持的Solvers有:1、SGD 2、AdaDelta 3、AdaGrad 4、Adam 5、Nesterov's Accelerated Gradient 6、RMSprop

原创粉丝点击