Igo*_*evo 17 neural-network deep-learning caffe conv-neural-network resnet
我正在通过Caffe原型文本查看深度残留网络,并注意到了"Scale"图层的外观.
layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "scale2b_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
}
Run Code Online (Sandbox Code Playgroud)
但是,此图层在Caffe图层目录中不可用.有人可以解释这一层的功能和参数的含义,还是指向Caffe的最新文档?
Sha*_*hai 19
你可以在这里找到关于caffe的详细文档.
具体来说,对于"Scale"图层,doc 说:
计算两个输入Blob的乘积,后一个Blob的形状"广播"以匹配前者的形状.相当于平铺后一个Blob,然后计算元素乘积.
可以省略第二输入,在这种情况下,它被学习为层的参数.
在您的情况下,似乎(单个"底部"),该层学习比例因子乘以"res2b_branch2b".此外,由于scale_param { bias_term: true }该层意味着不仅学习乘法比例因子,而且学习常数项.所以,正面传球计算:
res2b_branch2b <- res2b_branch2b * \alpha + \beta
Run Code Online (Sandbox Code Playgroud)
在训练过程中的净努力学习的价值\alpha和\beta.
das*_*sen 10
在caffe.proto文件中还有一些文档,你可以搜索'ScaleParameter'.
感谢你的帖子堆:)比例层正是我想要的.如果有人想要一个按标量(0.5)缩放然后"添加"-2(并且这些值不应该更改)的图层的示例:
layer {
name: "scaleAndAdd"
type: "Scale"
bottom: "bot"
top: "scaled"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
scale_param {
filler {
value: 0.5 }
bias_term: true
bias_filler {
value: -2
}
}
}
Run Code Online (Sandbox Code Playgroud)
(可能,这里的decay_mult是不必要的.但是dunno.请参阅评论.)除此之外:
"param {"总是(?)指的是权重,第二个指的是偏差(lr_mult不是ScaleLayer特定的)全部取自caffe.proto.并且:我只测试了上面的两个填充值= 1.2.
| 归档时间: |
|
| 查看次数: |
17286 次 |
| 最近记录: |