PaddlePaddle / PaddleHelix

Bio-Computing Platform Featuring Large-Scale Representation Learning and Multi-Task Deep Learning “螺旋桨”生物计算工具集
Apache License 2.0
806 stars 192 forks source link

在pahelix的transformer_block块中,bias_attr参数是不是写错了 #67

Closed hailong23-jin closed 3 years ago

hailong23-jin commented 3 years ago

这是代码的链接地址: https://github.com/PaddlePaddle/PaddleHelix/blob/dev/pahelix/networks/transformer_block.py#L174

hailong23-jin commented 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却赋值了一个字符串。我想应该是编程失误,望纠正。

xiaoyao4573 commented 3 years ago

bias_attr确实是ParamAttr,但是字符串这种用法也是可以的,就是用这个字符串作为名字,其他参数用默认的。感谢这位同学的仔细。

hailong23-jin commented 3 years ago

感谢指正,学习了~