Closed hailong23-jin closed 3 years ago
这是我有疑惑的源代码:
proj_out = layers.fc(input=out,
size=d_model,
num_flatten_dims=2,
param_attr=fluid.ParamAttr(
name=name + "_output_fc.w_0",
initializer=param_initializer),
bias_attr=name + "_output_fc.b_0")
源代码位置链接:https://github.com/PaddlePaddle/PaddleHelix/blob/dev/pahelix/networks/transformer_block.py#L174 以下内容截取自paddle.fluid.layers.fc文档bias_attr参数说明
bias_attr (ParamAttr) – 指定偏置参数属性的对象。默认值为None,表示使用默认的偏置参数属性。具体用法请参见 ParamAttr 。
这个layer.fc函数中中,param_attr和bias_attr的值应该都是paddle.ParamAttr类型。但是这个函数中bias_attr却赋值了一个字符串。我想应该是编程失误,望纠正。
bias_attr确实是ParamAttr,但是字符串这种用法也是可以的,就是用这个字符串作为名字,其他参数用默认的。感谢这位同学的仔细。
感谢指正,学习了~
这是代码的链接地址: https://github.com/PaddlePaddle/PaddleHelix/blob/dev/pahelix/networks/transformer_block.py#L174