code: def forward(self, adj, h):
      h = h.permute(0, 2, 1)
      out = self.graphconv1(adj, h)
  
      out = F.dropout(out, p=self.dropout, training=self.training)
  
      if self.swish:
          out = swish(out)
      else:
          out = F.leaky_relu(out, negative_slope=0.2)
  
      for i in range(self.depth):
          out = self.graphconv[i](adj, out)
  
          out = F.dropout(out, p=self.dropout, training=self.training)
          if self.swish:
              out = swish(out)
          else:
              out = F.relu(out)
  
      out = out.sum(1)  # (batchsize, node, ch) --> (batchsize, ch)
      out = self.linear(out)
  
      return out
  
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 2 for calling the EnergyFunc obj's underlying member method code with example usage: obj.forward(adj, h) and returns: out