class_docstr:     The base class for rnn tree decoder
  
  Parameters
  ----------
  attentional: bool, default=True
      Whether to use attention mechanism
  use_copy: bool, default=False
      Whether to use copy attention(pointer network) mechanism
  use_coverage: bool, default=False
      Whether to use coverage attention mechanism
  attention_type: str, option=["uniform", "separate"], default="uniform"
      The attention strategy choice.
      "``uniform``": uniform attention. We will attend on the nodes uniformly.
      "``separate_different_encoder_type``": separate attention.
                                             We will attend on different encoder results separately. # noqa
      "``separate_different_node_type``": separate attention.
                                          We will attend on different node type separately.
  
  fuse_strategy: str, option=[None, "average", "concatenate"], default=None
      The strategy to fuse attention results generated by separate attention.
      "None": If we do ``uniform`` attention, we will set it to None.
      "``average``": We will take an average on all results.
      "``concatenate``": We will concatenate all results to one.
  teacher_forcing_ratio: float, default=1.
      The probability rate to use teacher forcing strategy.
code: def forward(self, encoder_output_dict, tgt_tree_batch, enc_batch):
      return self._run_forward_pass(
          **encoder_output_dict,
          tgt_tree_batch=tgt_tree_batch,
          enc_batch=enc_batch,
      )
  
imports: import torch.nn
label_desc: Use image node_id 3 for calling the RNNTreeDecoderBase obj's underlying member method code with example usage: obj.forward(encoder_output_dict, tgt_tree_batch, enc_batch) and returns: self