class_docstr: Standard fully batched RNN decoder with attention.
  
  Faster implementation, uses CuDNN for implementation.
  See :class:`~onmt.decoders.decoder.RNNDecoderBase` for options.
  
  
  Based around the approach from
  "Neural Machine Translation By Jointly Learning To Align and Translate"
  :cite:`Bahdanau2015`
  
  
  Implemented without input_feeding and currently with no `coverage_attn`
  or `copy_attn` support.
class_docstr_tok: ["Standard","fully","batched","RNN","decoder","with","attention",".","Faster","implementation",",","uses","CuDNN","for","implementation",".","See",":","class",":","`","~onmt.decoders.decoder.RNNDecoderBase","`","for","options",".","Based","around","the","approach","from","''","Neural","Machine","Translation","By","Jointly","Learning","To","Align","and","Translate","''",":","cite",":","`","Bahdanau2015","`","Implemented","without","input_feeding","and","currently","with","no","`","coverage_attn","`","or","`","copy_attn","`","support","."]
code: def _build_rnn(self, rnn_type, **kwargs):
      rnn, _ = rnn_factory(rnn_type, **kwargs)
      return rnn
  
imports: import torch
  import torch.nn
  from onmt.modules.stacked_rnn import StackedLSTM, StackedGRU
  from onmt.modules import context_gate_factory, GlobalAttention
  from onmt.utils.rnn_factory import rnn_factory
label_desc: Use image node_id 2 for calling the StdRNNDecoder obj's underlying member method code with example usage: obj._build_rnn(rnn_type) and returns: rnn