code: def __init__(self, in_dim, hidden1_dim, hidden2_dim):
      super(VGAEModel, self).__init__()
      self.in_dim = in_dim
      self.hidden1_dim = hidden1_dim
      self.hidden2_dim = hidden2_dim
  
      layers = [
          GraphConv(
              self.in_dim,
              self.hidden1_dim,
              activation=F.relu,
              allow_zero_in_degree=True,
          ),
          GraphConv(
              self.hidden1_dim,
              self.hidden2_dim,
              activation=lambda x: x,
              allow_zero_in_degree=True,
          ),
          GraphConv(
              self.hidden1_dim,
              self.hidden2_dim,
              activation=lambda x: x,
              allow_zero_in_degree=True,
          ),
      ]
      self.layers = nn.ModuleList(layers)
  
file_path: dgl/examples/pytorch/vgae/model.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from dgl.nn.pytorch import GraphConv
  from train import device
label_desc: Use image node_id 1 to create a new VGAEModel object from inherited base classes: nn with example: obj = VGAEModel(in_dim, hidden1_dim, hidden2_dim)