code: def visualize(net, preprocessed_img, orig_img, conv_layer_name):
      # Returns grad-cam heatmap, guided grad-cam, guided grad-cam saliency
      imggrad = get_image_grad(net, preprocessed_img)
      conv_out, conv_out_grad = get_conv_out_grad(
          net, preprocessed_img, conv_layer_name=conv_layer_name
      )
  
      cam = get_cam(conv_out_grad, conv_out)
      cam = cv2.resize(cam, (imggrad.shape[1], imggrad.shape[2]))
      ggcam = get_guided_grad_cam(cam, imggrad)
      img_ggcam = grad_to_image(ggcam)
  
      img_heatmap = get_img_heatmap(orig_img, cam)
  
      ggcam_gray = to_grayscale(ggcam)
      img_ggcam_gray = onp.squeeze(grad_to_image(ggcam_gray))
  
      return img_heatmap, img_ggcam, img_ggcam_gray
  
imports: from __future__ import print_function
  import mxnet
  from mxnet import gluon, np, npx
  from mxnet import autograd
  from mxnet.gluon import nn
  import numpy
  import cv2
label_desc: Use image node_id 11 for calling a global function with example usage: visualize(net, preprocessed_img, orig_img, conv_layer_name) and returns: img_heatmap,  img_ggcam,  img_ggcam_gray