我有以下想要添加的caffe图层:
package google.datastore.admin.v1;
我需要用Python创建它。我该怎么做?
layer {
name: "s"
type: "Scale"
bottom: "o"
top: "o"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 1
decay_mult: 0
}
scale_param {
filler {
value: 1 }
bias_term: true
bias_filler {
value: 0
}
}
}
我试试这个并且它会出错caffeNet.tops[gScaleName] = L.Scale(caffeNet.tops[gConvName],
param=[dict(lr_mult=0, decay_mult=0), dict(lr_mult=1, decay_mult=0)],
scale_param=[dict(bias_term=True), dict(bias_filler=dict(value=0)), dict(filler=dict(value=0))]
)
。我该如何添加它?
答案 0 :(得分:0)
试试这个:
caffeNet.tops[gScaleName] = L.Scale(caffeNet.tops[gConvName],
param=[{'lr_mut': 0, 'decay_mult': 0},
{'lr_mult': 1, 'decay_mult': 0}],
scale_param={'filler': {'value': 1},
'bias_term': True,
'bias_filler': {'value': 1})
请注意,scale_param
是dict
而不是list
的{{1}}。
如果您仔细查看caffe.proto
,我会注意到dict
为scale_param
时:
optional
意味着每个optional ScaleParameter scale_param = 142;
中scale_param
最多只能包含一个值。在layer
时,它被定义为param
:
repeated
意味着每层中可以有repeated ParamSpec param = 6;
的数组/列表。
顺便说一句,
您定义param
图层的方式是将比例修正为1并将学习率设置为零,这意味着您只能了解此图层中的偏差。
为什么不使用"Bias"
图层并跳过冗余比例?