code: def _save_params(
      net, logger, best_map, current_map, epoch, save_interval, prefix
  ):
      current_map = float(current_map)
      if current_map > best_map[0]:
          logger.info(
              "[Epoch {}] mAP {} higher than current best {} saving to {}".format(
                  epoch,
                  current_map,
                  best_map,
                  "{:s}_best.params".format(prefix),
              )
          )
          best_map[0] = current_map
          net.save_parameters("{:s}_best.params".format(prefix))
          with open(prefix + "_best_map.log", "a") as log_file:
              log_file.write(
                  "{:04d}:\t{:.4f}\n".format(epoch, current_map)
              )
      if save_interval and (epoch + 1) % save_interval == 0:
          logger.info(
              "[Epoch {}] Saving parameters to {}".format(
                  epoch,
                  "{:s}_{:04d}_{:.4f}.params".format(
                      prefix, epoch, current_map
                  ),
              )
          )
          net.save_parameters(
              "{:s}_{:04d}_{:.4f}.params".format(
                  prefix, epoch, current_map
              )
          )
  
file_path: gluon-cv/gluoncv/auto/estimators/faster_rcnn/utils.py
imports: import os
  from mxnet import gluon
  from ....data.batchify import FasterRCNNTrainBatchify, Tuple, Append
  from ....data.sampler import SplitSortedBucketSampler
  from ....data.transforms.presets.rcnn import FasterRCNNDefaultValTransform
  from ....None import data
  from ....utils.metrics.coco_detection import COCODetectionMetric
  from ....utils.metrics.voc_detection import VOC07MApMetric
label_desc: Use image node_id 3 for calling a global function with example usage: _save_params(net, logger, best_map, current_map, epoch, save_interval, prefix) without return types