Caffe数据结构

荀子《劝学》:不积跬步,无以至千里;不积小流,无以成江海。Caffe相当于Net,按照设计图纸(prototxt),用Blob这些砖块筑成一层层(Layer)楼房,最后通过SGD方法(Solver)进行装修(Train)、精装修(Finetune)实现的。重要组成部分是:Blob、Layer、Net

Blob

Blob是一个模板类,声明在include/caffe/blob.hpp中,分装了SyncedMemory类,作为基本计算单元服务Layer、Net、Solver等,在内存中是4维数组,维度从低到高(width_,height_,channels_,num_),用来存储数据或权值(data)和权值增量(diff),在进行网络计算时,每层的输入和输出都需要通过Blob对象缓冲。Blob是Caffe的基本存储单元。Blob的Update()函数实现data=data-diff操作,完成CNN权值更新。ToProto()、FromProto()实现内部值保存到磁盘,或者从磁盘载入内存。

Layer

Layer是Caffe的基本计算单元,至少有一个输入Blob和一个输出Blob,部分Layer带有权值(Weight)和偏执项(Bias),有两个运算方向,前向传播(Forward)和反向传播(BackWard)。

 

Net

Net是一个完整的CNN模型,包含若干个实例,对应的描述文件是*.prototxt,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值