zoukankan      html  css  js  c++  java
  • 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的名字。

    成员函数

  • 相关阅读:
    Arduino uno 教程~持续更新~
    Arduino uno LED灯实验
    Arduino uno 引脚说明
    面包板的使用
    数量经济学推荐的Julia教程
    已知一点经纬度和距离,方位角;求另外一点的经纬度
    a recipe kindly provided by Dimas for kikuchi
    发现了拯救“文献多的一团麻”的工具
    matlab中diff的用法
    matlabR2017安装
  • 原文地址:https://www.cnblogs.com/yinheyi/p/11746809.html
Copyright © 2011-2022 走看看