class_docstr: Gated Propogator for GGNN
  Using LSTM gating mechanism
class_docstr_tok: ["Gated","Propogator","for","GGNN","Using","LSTM","gating","mechanism"]
code: def __init__(self, state_dim, n_node, n_edge_types):
      super(GGNNPropogator, self).__init__()
  
      self.n_node = n_node
      self.n_edge_types = n_edge_types
  
      self.reset_gate = nn.Sequential(
          nn.Linear(state_dim * 3, state_dim), nn.Sigmoid()
      )
      self.update_gate = nn.Sequential(
          nn.Linear(state_dim * 3, state_dim), nn.Sigmoid()
      )
      self.tansform = nn.Sequential(
          nn.Linear(state_dim * 3, state_dim), nn.LeakyReLU()
      )
  
imports: import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from onmt.encoders.encoder import EncoderBase
label_desc: Use image node_id 1 to create a new GGNNPropogator object from inherited base classes: nn with example: obj = GGNNPropogator(state_dim, n_node, n_edge_types)