class_docstr: A GRU copying decoder that accepts an variable-sized set of encodings.
class_docstr_tok: ["A","GRU","copying","decoder","that","accepts","an","variable-sized","set","of","encodings","."]
code: def __init__(
      self,
      *,
      max_seq_len: int = 8,
      hidden_size=128,
      embedding_size: int = 256,
      memories_hidden_dim: int = 128,
      vocabulary_max_size: int = 20000,
      vocabulary_count_threshold: int = 5,
      dropout_rate: float = 0.2,
  ):
      super().__init__()
      self.max_seq_len: Final = max_seq_len
      self.hidden_size: Final = hidden_size
      self.embedding_size: Final = embedding_size
      self.memories_hidden_dim: Final = memories_hidden_dim
      self.vocabulary_max_size: Final = vocabulary_max_size
      self.vocabulary_count_threshold: Final = (
          vocabulary_count_threshold
      )
      self.dropout_rate: Final = dropout_rate
  
imports: from typing_extensions import Final
  import logging
  import math
  import numpy
  import torch
  import torch.nn
  from dpu_utils.mlutils import Vocabulary
  from torch_scatter import scatter_add
  from torch_scatter.composite import scatter_log_softmax, scatter_logsumexp
  from typing import Any, Counter, Dict, List, NamedTuple, Tuple, Union
  from ptgnn.baseneuralmodel import AbstractNeuralModel
label_desc: Use image node_id 1 to create a new GruCopyingDecoderModel object from inherited base classes: AbstractNeuralModel with example: obj = GruCopyingDecoderModel()