caffe理论学习(1):官方教程记要

第一章 Blobs, Layers, and Nets:Caffe模型解析

1.1Blob的存储与交换

blob维数为NCHW。blob按行为主存储。例如一个卷积层中有96个3通道的1111的滤波器,blob维度为96311*11。

1.1.1实现细节

一个blob中存储了两块数据——data(普通数据)和diff(梯度)。

1.2Layer的计算和连接

  • 一个 layer层通过bottom和top传输数据。每个layer定义了三种重要的运算:setup,forward,backward。
  • caffe自定义layer很容易(但我还不会,之后得学)。

1.3Net的定义和操作

  • Net::Init()进行网络初始化。主要实现两个操作:创建blobs和layers以搭建整个网络DAG图。初始化会检查网络结构是否正确,并会打印信息。
  • 网络构建完成后,通过设置Caffe::mode()函数中的Caffe::set_mode()实现在CPU或GPU上运行。

1.3.1模型格式

模型格式用protobuf语言定义在caffe.proto文件中。

第二章Forward and Backward(前传/反传)

2.1

2.2

2.3Caffe 中前传和反传的实现

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

第三章Loss

3.1Loss weights

通过在层定义中添加一个loss_weight:<float>字段到该层的top,任何层都可以作为一个loss。。对于带后缀 。对于带后缀Loss层来说,有个隐式的loss_weight:1,对普通层来说,有个隐式的loss_weight:0

第四章 Solver

4.1

caffe支持solvers包括:
type:"SGD"随机梯度下降
type:“RMSProp”

4.2方法

4.2.1SGD

超参数设定有:学习率α和动量μ。

4.2.6RMSProp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值