code: def init_weights(sym, data_shape_dict):
      # print('in hg')
      arg_name = sym.list_arguments()
      aux_name = sym.list_auxiliary_states()
      arg_shape, _, aux_shape = sym.infer_shape(**data_shape_dict)
      arg_shape_dict = dict(zip(arg_name, arg_shape))
      aux_shape_dict = dict(zip(aux_name, aux_shape))
      # print(aux_shape)
      # print(aux_params)
      # print(arg_shape_dict)
      arg_params = {}
      aux_params = {}
      for k in arg_shape_dict:
          v = arg_shape_dict[k]
          # print(k,v)
          if k.endswith("offset_weight") or k.endswith("offset_bias"):
              print("initializing", k)
              arg_params[k] = mx.nd.zeros(shape=v)
          elif k.startswith("fc6_"):
              if k.endswith("_weight"):
                  print("initializing", k)
                  arg_params[k] = mx.random.normal(0, 0.01, shape=v)
              elif k.endswith("_bias"):
                  print("initializing", k)
                  arg_params[k] = mx.nd.zeros(shape=v)
          elif k.find("upsampling") >= 0:
              print("initializing upsampling_weight", k)
              arg_params[k] = mx.nd.zeros(shape=arg_shape_dict[k])
              init = mx.init.Initializer()
              init._init_bilinear(k, arg_params[k])
      return arg_params, aux_params
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import mxnet
  import numpy
  from config import config
label_desc: Use image node_id 16 for calling a global function with example usage: init_weights(sym, data_shape_dict) and returns: arg_params,  aux_params