当前位置: 首页 > 文档资料 > Caffe 学习笔记 >

Net

优质
小牛编辑
137浏览
2023-12-01

Net中包括:

  • Layer对象:根据Net描述对指定的输入Blob进行某些计算处理(卷积、下采样、全连接、非线性变换、计算代价函数等),输出结果放到指定的输出Blob中。
  • Blob对象:用于存放每个Layer输入/输出的中间结果

所有的Layer和Blob对象都用名字区分,同名的Blob表示同一个Blob对象,同名的Layer表示同一个Layer对象。

Net、Layer、Blob 类比

我们将 Blob 比作 Caffe 砖石,Layer 比作 Caffe 的墙面,那么 Net 更像是工匠手中的图纸,描述了每个墙面应当出现的位置。

Net 中很有必要认识的一些变量

类对象含义
layers_记录Net prototxt中出现的每个Layer
layernames记录Net prototxt中出现的每个Layer的名称
layernames_index记录Net prototxt中每个Layer名称与顺序索引的对应关系
layerneed_backward记录每个Layer是否需要反向传播过程
blobs_记录Net中所有Blob
blob_names记录Net中所有Blob的名称
blobnames_index记录每个Blob名称与顺序索引的对应关系
blobneed_backward记录每个Blob是否需要反向传播过程
bottomvecsblobs_的影子,记录每个Layer的输入Blob
bottomid_vecs与bottomvecs关联,用于在blobs_中定位每个Layer的每个输入Blob
bottomneed_backward与bottomvecs关联,标志每个Blob是否需要反向传播过程
topvecsblobs_的影子,记录每个Layer的输出Blob
topid_vecs与topvecs关联,用于在blobs_中定位每个Layer的每个输出Blob
blobloss_weightsNet中每个Blob对损失函数的投票因子。一般损失层为1,其它层为0
netinput_blob_indicesNet输入Blob在blobs_中的索引
netoutput_blob_indicesNet输出Blob在blobs_中的索引
netinput_blobsNet输入Blob
netoutput_blobsNet输出Blob
params_Net权值Blob,用于存储网络权值
paramdisplay_namesNet中权值Blob的名称
learnableparamsNet中可训练的权值Blob
paramslrlearnableparams中每个元素的学习速率倍乘因子
hasparams_lr标志learnableparams中每个元素是否有学习速率倍乘因子
paramsweight_decaylearnableparams中每个元素的权值衰减倍乘因子
hasparams_decay标志learnableparams中每个元素是否有权值衰减倍乘因子