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是否需要反向传播过程 |
bottomvecs | blobs_的影子,记录每个Layer的输入Blob |
bottomid_vecs | 与bottomvecs关联,用于在blobs_中定位每个Layer的每个输入Blob |
bottomneed_backward | 与bottomvecs关联,标志每个Blob是否需要反向传播过程 |
topvecs | blobs_的影子,记录每个Layer的输出Blob |
topid_vecs | 与topvecs关联,用于在blobs_中定位每个Layer的每个输出Blob |
blobloss_weights | Net中每个Blob对损失函数的投票因子。一般损失层为1,其它层为0 |
netinput_blob_indices | Net输入Blob在blobs_中的索引 |
netoutput_blob_indices | Net输出Blob在blobs_中的索引 |
netinput_blobs | Net输入Blob |
netoutput_blobs | Net输出Blob |
params_ | Net权值Blob,用于存储网络权值 |
paramdisplay_names | Net中权值Blob的名称 |
learnableparams | Net中可训练的权值Blob |
paramslr | learnableparams中每个元素的学习速率倍乘因子 |
hasparams_lr | 标志learnableparams中每个元素是否有学习速率倍乘因子 |
paramsweight_decay | learnableparams中每个元素的权值衰减倍乘因子 |
hasparams_decay | 标志learnableparams中每个元素是否有权值衰减倍乘因子 |