code: def __init__(
      self,
      n_atom_type,
      hidden,
      num_edge_type=4,
      swish=True,
      depth=2,
      add_self=False,
      dropout=0,
  ):
      super(EnergyFunc, self).__init__()
  
      self.depth = depth
      self.graphconv1 = GraphConv(
          n_atom_type,
          hidden,
          num_edge_type,
          std=1,
          bound=False,
          add_self=add_self,
      )
      self.graphconv = nn.ModuleList(
          GraphConv(
              hidden,
              hidden,
              num_edge_type,
              std=1e-10,
              add_self=add_self,
          )
          for i in range(self.depth)
      )
      self.swish = swish
      self.dropout = dropout
      self.linear = nn.Linear(hidden, 1)
  
file_path: DIG/dig/ggraph/method/GraphEBM/energy_func.py
imports: import torch
  from torch import nn
  from torch.nn import functional
label_desc: Use image node_id 1 to create a new EnergyFunc object from inherited base classes: nn with example: obj = EnergyFunc(n_atom_type, hidden, num_edge_type, swish, depth, add_dropout)