caffe库源码剖析——net层

net层的功能实现主要涉及到net.hpp和net.cpp文件,让咱们要捋顺它是干了什么,是如何实现的。网络

1. net层使用到的参数

第一步要作的事,就是查看caffe.proto文件,弄清楚net都包含哪些控制参数:函数

  • name: 是string格式,表示当前net的名字。
  • force_backward: bool类型,表示是否强制net中的每个layer都进行梯度反向传播操做,若是是否的话, layer是否进行反向传播则由当时的context决定了。
  • state: NetState类型,表示net当前的状态,NetState包含了phase/level/stage三个成员, 增长sate参数的目的是能够对一些layer进行有选择性的进行包含,由于每个layer中包含了一个NetStateRule的参数。
  • debug_info: bool类型,表示在网格的forward/backward/update阶段是否要打印调试信息。
  • layer: LayerParameter类型的列表,表示该net中包含的全部layer的参数,这个很很是重要的,这个layer组成了该net.
  • input: string类型的列表,表示网络的输入(每个blob都对应了一个输入)( 旧版本参数,已遗弃)
  • input_shape: blobshape类型的列表,表示输入的形状( 旧版本参数,已遗弃)
  • input_dim : int类型的列表,表示输出的维度( 旧版本参数,已遗弃)
  • layers: V1LayerParameter的列表( 旧版本参数,已遗弃)

2. net类

成员变量

  • name_: net的名字。

成员函数

相关文章
相关标签/搜索