class_docstr: Retro decoder's bias-dropout-add operator.
  
  This operator takes care of reshaping and permuting the output from the
  chunk dimension to the sequence dimension.
  
  Arguments:
    config (RetroConfig): Retro config.
docstr: Retro decoder bias-dropout-add.
  
  Arguments:
    training (bool): If training, then apply dropout.
  
    fused (bool): Fuse bias-dropout-add.
docstr_tok: ["Retro","decoder","bias-dropout-add",".","Arguments",":","training","(","bool",")",":","If","training",",","then","apply","dropout",".","fused","(","bool",")",":","Fuse","bias-dropout-add","."]
code: def forward(self, training: bool, fused: bool) -> Tensor:
      """Retro decoder bias-dropout-add.
  
      Arguments:
        training (bool): If training, then apply dropout.
  
        fused (bool): Fuse bias-dropout-add.
      """
      return partial(
          self._forward,
          retro_chunk_length=self.retro_chunk_length,
          bias_dropout_add=get_bias_dropout_add(training, fused),
      )
  
imports: from functools import partial
  from typing import Callable
  import numpy
  import torch
  from torch import Tensor
  from megatron.core import InferenceParams
  from megatron.core.fusions.fused_bias_dropout import get_bias_dropout_add
  from megatron.core.models.retro.base_attention import BaseRetroCrossAttention
  from megatron.core.models.retro.config import RetroConfig
  from megatron.core.transformer import ModuleSpec
  from megatron.core.transformer.attention import CrossAttentionSubmodules
  from megatron.core.transformer.enums import AttnMaskType
  from megatron.core.transformer.module import MegatronModule
  from megatron.core.transformer.transformer_block import TransformerBlock
label_desc: Use image node_id 3 for calling the RetroDecoderBiasDropoutAdd obj's underlying member method code with example usage: obj.forward(training, fused) and returns: partial