code: def normalize(metric_type, X):
      if metric_type == "ip":
          logger.info("Set normalize for metric_type: %s" % metric_type)
          X = sklearn.preprocessing.normalize(X, axis=1, norm="l2")
          X = X.astype(np.float32)
      elif metric_type == "l2":
          X = X.astype(np.float32)
      elif metric_type in ["jaccard", "hamming", "sub", "super"]:
          tmp = []
          for item in X:
              new_vector = bytes(np.packbits(item, axis=-1).tolist())
              tmp.append(new_vector)
          X = tmp
      return X
  
imports: import os
  import logging
  import numpy
  import sklearn.preprocessing
  import h5py
  import random
  from itertools import product
  from pymilvus import DataType
  from milvus_benchmark import config
label_desc: Use image node_id 16 for calling a global function with example usage: normalize(metric_type, X) and returns: X