code: def _get_optimal_thresholds(nd_dict, quantized_dtype, num_bins=8001, num_quantized_bins=255, logger=None):
      
      if stats is None:
          raise ImportError('scipy.stats is required for running entropy mode of calculating'
                            ' the optimal thresholds for quantizing FP32 ndarrays into int8.'
                            ' Please check if the scipy python bindings are installed.')
      assert isinstance(nd_dict, dict)
      if logger is not None:
          logger.info('Calculating optimal thresholds for quantization using KL divergence'
                      ' with num_bins=%d and num_quantized_bins=%d' % (num_bins, num_quantized_bins))
      th_dict = {}
      # copy nd_dict keys since the keys() only returns a view in python3
      layer_names = list(nd_dict.keys())
      for name in layer_names:
          assert name in nd_dict
          min_val, max_val, min_divergence, opt_th = \
              _get_optimal_threshold(nd_dict[name], quantized_dtype, num_bins=num_bins,
                                     num_quantized_bins=num_quantized_bins)
          del nd_dict[name]  # release the memory of ndarray
          if min_val < 0:
              th_dict[name] = (-opt_th, opt_th)
          else:
              th_dict[name] = (0, opt_th)
          if logger is not None:
              logger.info('layer=%s, min_val=%f, max_val=%f, min_divergence=%f, optimal_threshold=%f'
                          % (name, min_val, max_val, min_divergence, opt_th))
      return th_dict
docs: Given a ndarray dict, find the optimal threshold for quantizing each value of the key.