code: def check_saved_predictor_version(
      version_current: str,
      version_saved: str,
      require_version_match: bool = True,
      logger: Optional[logging.Logger] = None,
  ) -> None:
      if logger is None:
          logger = logging.getLogger(__name__)
  
      if version_saved != version_current:
          logger.warning("")
          logger.warning(
              "############################## WARNING ##############################"
          )
          logger.warning(
              "WARNING: AutoGluon version differs from the version used to create the predictor! "
              "This may lead to instability and it is highly recommended the predictor be loaded "
              "with the exact AutoGluon version it was created with."
          )
          logger.warning(f"\tPredictor Version: {version_saved}")
          logger.warning(f"\tCurrent Version:   {version_current}")
          logger.warning(
              "############################## WARNING ##############################"
          )
          logger.warning("")
  
          if require_version_match:
              raise AssertionError(
                  f"Predictor was created on version {version_saved} but is being loaded with version {version_current}. "
                  f"Please ensure the versions match to avoid instability. While it is NOT recommended, "
                  f"this error can be bypassed by specifying `require_version_match=False`."
              )
  
file_path: autogluon/common/src/autogluon/common/utils/utils.py
imports: import logging
  import os
  import platform
  import sys
  from datetime import datetime
  from hashlib import md5
  from pathlib import Path
  from typing import Any, Dict, Optional
  import numpy
  import pandas
  from ..version import __version__
label_desc: Use image node_id 7 for calling a global function with example usage: check_saved_predictor_version(version_current, version_saved, require_version_match, logger) without return types