code: def collect(self, name, arr):
          
          name = py_str(name)
          if self.include_layer is not None and not self.include_layer(name):
              return
          handle = ctypes.cast(arr, NDArrayHandle)
          arr = NDArray(handle, writable=False)
          min_range = ndarray.min(arr).asscalar()
          max_range = ndarray.max(arr).asscalar()
          if name in self.min_max_dict:
              cur_min_max = self.min_max_dict[name]
              self.min_max_dict[name] = (min(cur_min_max[0], min_range),
                                         max(cur_min_max[1], max_range))
          else:
              self.min_max_dict[name] = (min_range, max_range)
          if self.logger is not None:
              self.logger.info("Collecting layer %s min_range=%f, max_range=%f"
                               % (name, min_range, max_range))
docs: Callback function for collecting min and max values from an NDArray.