code: def __init__(
      self,
      g,
      in_feats,
      n_hidden,
      out_feats,
      n_layers,
      dim,
      n_kernels,
      dropout,
  ):
      super(MoNet, self).__init__()
      self.g = g
      with self.name_scope():
          self.layers = nn.Sequential()
          self.pseudo_proj = nn.Sequential()
  
          # Input layer
          self.layers.add(GMMConv(in_feats, n_hidden, dim, n_kernels))
          self.pseudo_proj.add(
              nn.Dense(dim, in_units=2, activation="tanh")
          )
  
          # Hidden layer
          for _ in range(n_layers - 1):
              self.layers.add(
                  GMMConv(n_hidden, n_hidden, dim, n_kernels)
              )
              self.pseudo_proj.add(
                  nn.Dense(dim, in_units=2, activation="tanh")
              )
  
          # Output layer
          self.layers.add(GMMConv(n_hidden, out_feats, dim, n_kernels))
          self.pseudo_proj.add(
              nn.Dense(dim, in_units=2, activation="tanh")
          )
  
          self.dropout = nn.Dropout(dropout)
  
file_path: dgl/examples/mxnet/monet/citation.py
imports: import argparse
  import time
  import dgl
  import mxnet
  import networkx
  import numpy
  from dgl.data import CiteseerGraphDataset, CoraGraphDataset, PubmedGraphDataset, register_data_args
  from dgl.nn.mxnet.conv import GMMConv
  from mxnet import gluon, nd
  from mxnet.gluon import nn
label_desc: Use image node_id 1 to create a new MoNet object from inherited base classes: nn with example: obj = MoNet(g, in_feats, n_hidden, out_feats, n_layers, dim, n_kernels, dropout)