code: def __init__(self, hidden_size, depth, embedding):
      super(JTNNEncoder, self).__init__()
      self.hidden_size = hidden_size
      self.depth = depth
  
      self.embedding = embedding
      self.outputNN = nn.Sequential(
          nn.Linear(2 * hidden_size, hidden_size), nn.ReLU()
      )
      self.GRU = GraphGRU(hidden_size, hidden_size, depth=depth)
  
file_path: DIG/dig/ggraph/method/JTVAE/fast_jtnn/jtnn_enc.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from .mol_tree import Vocab, MolTree
  from .nnutils import create_var, index_select_ND
label_desc: Use image node_id 1 to create a new JTNNEncoder object from inherited base classes: nn with example: obj = JTNNEncoder(hidden_size, depth, embedding)