问题一
self.output = paddle.layer.fc(
input=[self.linear_part, self.interaction_part],
size=1,
act=paddle.activation.Sigmoid(),
param_attr=paddle.attr.ParamAttr(
name="%s_fc_output_linear_part.w" % self.network_name,
is_static=is_subnet_param_static,
l2_rate=self.l2_rate,
),
bias_attr=paddle.attr.ParamAttr(
name="%s_fc_output_linear_part.b" % self.network_name,
is_static=is_subnet_param_static,
l2_rate=self.l2_rate,
)
)
报错如下:
File "/python/lib/python2.7/site-packages/paddle/trainer/config_parser.py", line 4341, in my_fatal
raise Exception()
原因如下:
When the name field of param_attr is manually specified and the input is a list, the param_attr should also be a list with each item being the param_attr for each input item. If only one named param_attr is provided, all the input items would share this parameter.
但由于fc_layer的更新,使得不能默认的共享参数,导致报错。
解决方法:
若代码设定param_attr,而input是个list,param_attr也设置成list,即可解决。
参考:
https://github.com/PaddlePaddle/models/issues/512
问题二
报错如下:
File "/python