code: def main():
      
      # Initialization variables - update to change your model and execution context
      model_prefix = "FCN8s_VGG16"
      epoch = 19
  
      # By default, MXNet will run on the CPU. Change to ctx = mx.gpu() to run on GPU.
      ctx = mx.cpu()
  
      fcnxs, fcnxs_args, fcnxs_auxs = mx.model.load_checkpoint(model_prefix, epoch)
      fcnxs_args["data"] = mx.nd.array(get_data(args.input), ctx)
      data_shape = fcnxs_args["data"].shape
      label_shape = (1, data_shape[2]*data_shape[3])
      fcnxs_args["softmax_label"] = mx.nd.empty(label_shape, ctx)
      exector = fcnxs.bind(ctx, fcnxs_args, args_grad=None, grad_req="null", aux_states=fcnxs_args)
      exector.forward(is_train=False)
      output = exector.outputs[0]
      out_img = np.uint8(np.squeeze(output.asnumpy().argmax(axis=1)))
      out_img = Image.fromarray(out_img)
      out_img.putpalette(get_palette())
      out_img.save(args.output)
docs: Module main execution