-
Net 基本介绍 网络通过组成和自微分共同定义一个函数及其梯度。 网络是一些Layer组成的DAG,也就是有向无环图,在caffe中通常由prototxt定义. 比如 1name: "LogReg"2layer {3 name: "mnist"4 type: "Data"5 top: "data"6 top: "label"7 data_param {8 source: "input_leveldb"9 batch_size: 6410 }11}12layer {13 name: "ip"14 type: …
Read More -
layer 整体介绍 layer是模型计算的基本单元 类似于pytorch或者其他深度学习框架的op layer中的数据流向为,输入若干个blob,称之为"bottom blob",然后经过layer的计算,输出若干个blob,称之为"top blob" 也就是数据是从“bottom”流向“top” layer通常会进行两种计算,forward和backward forward是指,根据bottom blob计算得到top blob backward是指,根据top blob的结果和参数值计算得到的gradient,回传给前面的layer. layer 实现细节 layer作为一个base …
Read More -
迫于生计,开始看caffe代码。 会侧重于分析inference部分。 blob 整体介绍 blob的含义及目的 blob在逻辑上表示的就是所谓的tensor,blob是tensor在caffe中的叫法。 在框架层面上,blob的意义在于对数据进行封装,提供统一的接口。 这里的数据包含训练/inference时用的数据,也包含模型参数,导数等数据。 深度学习离不开在GPU上的计算。 blob对数据的封装使得用户不必关心和cuda有关的数据传输细节。 blob的表示 对于图像数据,blob通常为4-dim,也就是N*C*H*W 其中N表示number,也就是batch_num C表示channel H表示height W表示width …
Read More