caffe源码追踪--主线结构

来源:互联网 发布:编程语言执行效率排行 编辑:程序博客网 时间:2024/06/06 08:44

caffe采用模块化结构对深度网络进行层层抽象,我们跟着caffe源码的目录结构来看看都有哪些抽象:
这里写图片描述
blob:caffe中对数据存储的抽象,进行存储和传递的数据块.实际上就是一个n 维数组,具体维度数目根据处理对象而定,比如对于图像对象,则n通常为4,即 n(批处理图像数) c(通道数) h(图像高度) w(图像宽度);blob存储是行主序的,就是说坐标为(n, c, h, w)的值的物理位置为((n * C+ c) * H + h) * W + w;
layer:caffe中进行实际运算的基本单元,将输入的blob数据进行前向计算,传递到输出blob或是将输出的梯度blob进行反向计算传递到输入的梯度blob;包括常见的卷积,池化等操作:每个层中包括基本的setup,forward,backward函数;
net:由一系列layer相互连接构成的有向无环图.
接下来逐步解析每一个文件里的源码.

原创粉丝点击