code: def get_generator():
      
      g_net = gluon.nn.Sequential()
      with g_net.name_scope():
  
          g_net.add(gluon.nn.Conv2DTranspose(
              channels=512, kernel_size=4, strides=1, padding=0, use_bias=False))
          g_net.add(gluon.nn.BatchNorm())
          g_net.add(gluon.nn.LeakyReLU(0.2))
  
          g_net.add(gluon.nn.Conv2DTranspose(
              channels=256, kernel_size=4, strides=2, padding=1, use_bias=False))
          g_net.add(gluon.nn.BatchNorm())
          g_net.add(gluon.nn.LeakyReLU(0.2))
  
          g_net.add(gluon.nn.Conv2DTranspose(
              channels=128, kernel_size=4, strides=2, padding=1, use_bias=False))
          g_net.add(gluon.nn.BatchNorm())
          g_net.add(gluon.nn.LeakyReLU(0.2))
  
          g_net.add(gluon.nn.Conv2DTranspose(
              channels=64, kernel_size=4, strides=2, padding=1, use_bias=False))
          g_net.add(gluon.nn.BatchNorm())
          g_net.add(gluon.nn.LeakyReLU(0.2))
  
          g_net.add(gluon.nn.Conv2DTranspose(channels=3, kernel_size=4, strides=2, padding=1, use_bias=False))
          g_net.add(gluon.nn.Activation('tanh'))
  
      return g_net
docs: construct and return generator