code: def benchmarking(net, opt, ctx):
      if isinstance(ctx, mx.Context):
          ctx = [ctx]
  
      bs = opt.batch_size
      num_iterations = opt.num_iterations
      input_shape = (
          bs,
          3,
      ) + tuple(input_size)
      size = num_iterations * bs
      data = mx.random.uniform(
          -1.0, 1.0, shape=input_shape, ctx=ctx[0], dtype="float32"
      )
      dry_run = 5
  
      from tqdm import tqdm
  
      with tqdm(total=size + dry_run * bs) as pbar:
          for n in range(dry_run + num_iterations):
              if n == dry_run:
                  tic = time.time()
              output = net(data)
              output.wait_to_read()
              pbar.update(bs)
      speed = size / (time.time() - tic)
      print(
          "With batch size %d , %d batches, throughput is %f imgs/sec"
          % (bs, num_iterations, speed)
      )
  
imports: import argparse, time, logging, os, math, sys
  import numpy
  import mxnet
  from mxnet import gluon, nd
  from mxnet import autograd
  from mxnet.gluon import nn
  from mxnet.gluon.data.vision import transforms
  from mxnet.contrib.quantization import *
  import gluoncv
  from gluoncv.data import mscoco
  from gluoncv.model_zoo import get_model
  from gluoncv.utils import makedirs
  from gluoncv.nn.block import DSNT
  from gluoncv.data.transforms.pose import transform_preds, get_final_preds, flip_heatmap
  from gluoncv.data.transforms.presets.simple_pose import SimplePoseDefaultTrainTransform, SimplePoseDefaultValTransform
  from gluoncv.utils.metrics.coco_keypoints import COCOKeyPointsMetric
label_desc: Use image node_id 4 for calling a global function with example usage: benchmarking(net, opt, ctx) without return types