class_docstr: Container module with an encoder, a recurrent module, and a decoder.
  
  Based on official pytorch examples
code: def forward(self, input, hidden):
      emb = self.drop(self.encoder(input))
      output, hidden = self.rnn(emb, hidden)
      output = self.drop(output)
  
      if "proj" in vars(self):
          if self.proj:
              output = self.proj_layer(output)
  
      output = output.view(
          output.size(0) * output.size(1), output.size(2)
      )
  
      if self.full:
          decode = self.softmax.log_prob(output)
      else:
          decode = self.softmax(output)
  
      return decode, hidden
  
file_path: TextAttack/textattack/constraints/grammaticality/language_models/learning_to_write/rnn_model.py
imports: from torch import nn
  from torch.autograd import Variable
  from .adaptive_softmax import AdaptiveSoftmax
label_desc: Use image node_id 3 for calling the RNNModel obj's underlying member method code with example usage: obj.forward(input, hidden) and returns: decode,  hidden