class_docstr: HRED model that has a context LSTM layer.
class_docstr_tok: ["HRED","model","that","has","a","context","LSTM","layer","."]
code: def __init__(
      self,
      num_features,
      embeddingsize,
      hiddensize,
      device,
      numlayers=2,
      dropout=0,
      bidirectional=False,
      rnn_class="lstm",
      lookuptable="unique",
      decoder="same",
      numsoftmax=1,
      attention="none",
      attention_length=48,
      attention_time="post",
      padding_idx=0,
      start_idx=1,
      end_idx=2,
      unknown_idx=3,
      input_dropout=0,
      longest_label=1,
  ):
      super().__init__(
          padding_idx=padding_idx,
          start_idx=start_idx,
          end_idx=end_idx,
          unknown_idx=unknown_idx,
          input_dropout=input_dropout,
          longest_label=longest_label,
      )
  
      rnn_class = nn.LSTM
      embedding_size = embeddingsize
      hidden_size = hiddensize
  
      self.encoder = HredEncoder(
          num_features=num_features,
          embeddingsize=embedding_size,
          hiddensize=hidden_size,
          rnn_class=rnn_class,
          numlayers=numlayers,
          device=device,
      )
  
      self.decoder = HredDecoder(
          num_features=num_features,
          embeddingsize=embedding_size,
          hiddensize=hidden_size,
          rnn_class=rnn_class,
          numlayers=numlayers,
      )
  
      self.output = OutputLayer(
          num_features=num_features,
          embeddingsize=embedding_size,
          hiddensize=hidden_size,
      )
  
file_path: ParlAI/parlai/agents/hred/modules.py
imports: import torch
  import torch.nn
  from parlai.agents.seq2seq.modules import OutputLayer, RNNEncoder, _transpose_hidden_state
  from parlai.core.torch_generator_agent import TorchGeneratorModel
label_desc: Use image node_id 1 to create a new HredModel object from inherited base classes: TorchGeneratorModel with example: obj = HredModel(num_features, embeddingsize, hiddensize, device, numlayers, dropout, bidirectional, rnn_class, lookuptable, decoder, numsoftmax, attention, attention_length, attention_time, padding_idx, start_idx, end_idx, unknown_idx, input_dropout, longest_label)