class_docstr: Retro encoder's bias-dropout-add operator.
  
  This operator applies bias-dropout-add individually on each neighboring
  chunk that is retrieved from the chunk database.
  
  Arguments:
    config (RetroConfig): Retro config.
class_docstr_tok: ["Retro","encoder","'s","bias-dropout-add","operator",".","This","operator","applies","bias-dropout-add","individually","on","each","neighboring","chunk","that","is","retrieved","from","the","chunk","database",".","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_num_neighbors=self.retro_num_neighbors,
          bias_dropout_add=get_bias_dropout_add(training, fused),
      )
  
imports: from functools import partial
  from typing import Callable, Optional, Tuple, Type
  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.module import MegatronModule
label_desc: Use image node_id 3 for calling the RetroEncoderBiasDropoutAdd obj's underlying member method code with example usage: obj.forward(training, fused) and returns: partial