TransformerDecoderLayer

    Transformer解码器层

    Transformer解码器层由三个子层组成:多头自注意力机制、编码-解码交叉注意力机制(encoder-decoder cross attention)和前馈神经网络。如果 normalize_beforeTrue,则对每个子层的输入进行层标准化(Layer Normalization),对每个子层的输出进行dropout和残差连接(residual connection)。否则(即 normalize_beforeFalse),则对每个子层的输入不进行处理,只对每个子层的输出进行dropout、残差连接(residual connection)和层标准化(Layer Normalization)。

    参数:

    • d_model (int) - 输入输出的维度。

    • dropout (float,可选) - 对三个子层的输出进行处理的dropout值。默认值:0.1。

    • activation (str,可选) - 前馈神经网络的激活函数。默认值:relu

    • normalize_before (bool, 可选) - 设置对每个子层的输入输出的处理。如果为 True,则对每个子层的输入进行层标准化(Layer Normalization),对每个子层的输出进行dropout和残差连接(residual connection)。否则(即为 False),则对每个子层的输入不进行处理,只对每个子层的输出进行dropout、残差连接(residual connection)和层标准化(Layer Normalization)。默认值:False

    • bias_attr (ParamAttr|tuple|bool,可选)- 指定偏置参数属性的对象。如果是 tuple,多头自注意力机制的偏置参数属性使用 bias_attr[0],编码-解码交叉注意力机制的偏置参数属性使用 bias_attr[1],前馈神经网络的偏置参数属性使用 bias_attr[2]。如果该值是 ParamAttr,则多头自注意力机制、编码-解码交叉注意力机制和前馈神经网络的偏置参数属性都使用 ParamAttr。如果该参数为 bool 类型,只支持为 False,表示没有偏置参数。默认值:,表示使用默认的偏置参数属性。具体用法请参见 。

    代码示例