class_docstr: Sequential RNNLM.
  
  See also:
      https://github.com/pytorch/examples/blob/4581968193699de14b56527296262dd76ab43557/word_language_model/model.py
class_docstr_tok: ["Sequential","RNNLM",".","See","also",":","https",":","\/\/github.com\/pytorch\/examples\/blob\/4581968193699de14b56527296262dd76ab43557\/word_language_model\/model.py"]
code: def _setup(
      self,
      rnn_type,
      ntoken,
      ninp,
      nhid,
      nlayers,
      dropout=0.5,
      tie_weights=False,
  ):
      self.drop = nn.Dropout(dropout)
      self.encoder = nn.Embedding(ntoken, ninp)
      if rnn_type in ["LSTM", "GRU"]:
          self.rnn = getattr(nn, rnn_type)(
              ninp, nhid, nlayers, dropout=dropout
          )
      else:
          try:
              nonlinearity = {"RNN_TANH": "tanh", "RNN_RELU": "relu"}[
                  rnn_type
              ]
          except KeyError:
              raise ValueError(
                  "An invalid option for `--model` was supplied, "
                  "options are ['LSTM', 'GRU', 'RNN_TANH' or 'RNN_RELU']"
              )
          self.rnn = nn.RNN(
              ninp,
              nhid,
              nlayers,
              nonlinearity=nonlinearity,
              dropout=dropout,
          )
      self.decoder = nn.Linear(nhid, ntoken)
  
      # Optionally tie weights as in:
      # "Using the Output Embedding to Improve Language Models" (Press & Wolf 2016)
      # https://arxiv.org/abs/1608.05859
      # and
      # "Tying Word Vectors and Word Classifiers:
      #  A Loss Framework for Language Modeling" (Inan et al. 2016)
      # https://arxiv.org/abs/1611.01462
      if tie_weights:
          if nhid != ninp:
              raise ValueError(
                  "When using the tied flag, nhid must be equal to emsize"
              )
          self.decoder.weight = self.encoder.weight
  
      self._init_weights()
  
      self.rnn_type = rnn_type
      self.nhid = nhid
      self.nlayers = nlayers
  
file_path: espnet/espnet/nets/pytorch_backend/lm/seq_rnn.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from espnet.nets.lm_interface import LMInterface
label_desc: Use image node_id 3 for calling the SequentialRNNLM obj's underlying member method code with example usage: obj._setup(rnn_type, ntoken, ninp, nhid, nlayers, dropout, tie_weights) without return types