code: def __init__(
      self,
      in_channels,
      out_channels,
      improved=False,
      cached=False,
      bias=True,
      edge_norm=True,
      gfn=False,
  ):
      super(ResGCNConv, self).__init__("add")
  
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.improved = improved
      self.cached = cached
      self.cached_result = None
      self.edge_norm = edge_norm
      self.gfn = gfn
  
      self.weight = Parameter(torch.Tensor(in_channels, out_channels))
  
      if bias:
          self.bias = Parameter(torch.Tensor(out_channels))
      else:
          self.register_parameter("bias", None)
  
      self.weights_init()
  
imports: from functools import partial
  import torch
  import torch.nn.functional
  from torch.nn import Parameter
  from torch.nn import Sequential, Linear, BatchNorm1d
  from torch_scatter import scatter_add
  from torch_geometric.nn import GINConv, GCNConv, global_add_pool, global_mean_pool
  from torch_geometric.nn.conv import MessagePassing
  from torch_geometric.utils import remove_self_loops, add_self_loops
  from torch_geometric.nn.inits import glorot, zeros
label_desc: Use image node_id 1 to create a new ResGCNConv object from inherited base classes: MessagePassing with example: obj = ResGCNConv(in_channels, out_channels, improved, cached, bias, edge_norm, gfn)