class_docstr: AutoGluon ``TimeSeriesPredictor`` predicts future values of multiple related time series.
  
  ``TimeSeriesPredictor`` provides probabilistic (quantile) multi-step-ahead forecasts for univariate time series.
  The forecast includes both the mean (i.e., conditional expectation of future values given the past), as well as the
  quantiles of the forecast distribution, indicating the range of possible future outcomes.
  
  ``TimeSeriesPredictor`` fits both "global" deep learning models that are shared across all time series
  (e.g., DeepAR, Transformer), as well as "local" statistical models that are fit to each individual time series
  (e.g., ARIMA, ETS).
  
  ``TimeSeriesPredictor`` expects input data and makes predictions in the
  :class:`~autogluon.timeseries.TimeSeriesDataFrame` format.
  
  
  Parameters
  ----------
  target : str, default = "target"
      Name of column that contains the target values to forecast (i.e., numeric observations of the time series).
  prediction_length : int, default = 1
      The forecast horizon, i.e., How many time steps into the future the models should be trained to predict.
      For example, if time series contain daily observations, setting ``prediction_length = 3`` will train
      models that predict up to 3 days into the future from the most recent observation.
  freq : str, optional
      Frequency of the time series data (see `pandas documentation <https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases>`_
      for available frequencies). For example, ``"D"`` for daily data or ``"H"`` for hourly data.
  
      By default, the predictor will attempt to automatically infer the frequency from the data. This argument should
      only be set in two cases:
  
      1. The time series data has irregular timestamps, so frequency cannot be inferred automatically.
      2. You would like to resample the original data at a different frequency (for example, convert hourly measurements into daily measurements).
  
      If ``freq`` is provided when creating the predictor, all data passed to the predictor will be automatically
      resampled at this frequency.
  eval_metric : Union[str, TimeSeriesScorer], default = "WQL"
      Metric by which predictions will be ultimately evaluated on future test data. AutoGluon tunes hyperparameters
      in order to improve this metric on validation data, and ranks models (on validation data) according to this
      metric.
  
      Probabilistic forecast metrics (evaluated on quantile forecasts for the specified ``quantile_levels``):
  
      - ``"SQL"``: scaled quantile loss
      - ``"WQL"``: weighted quantile loss
  
      Point forecast metrics (these are always evaluated on the ``"mean"`` column of the predictions):
  
      - ``"MAE"``: mean absolute error
      - ``"MAPE"``: mean absolute percentage error
      - ``"MASE"``: mean absolute scaled error
      - ``"MSE"``: mean squared error
      - ``"RMSE"``: root mean squared error
      - ``"RMSSE"``: root mean squared scaled error
      - ``"SMAPE"``: "symmetric" mean absolute percentage error
      - ``"WAPE"``: weighted absolute percentage error
  
      For more information about these metrics, see :ref:`Forecasting Time Series - Evaluation Metrics <forecasting_metrics>`.
  eval_metric_seasonal_period : int, optional
      Seasonal period used to compute some evaluation metrics such as mean absolute scaled error (MASE). Defaults to
      ``None``, in which case the seasonal period is computed based on the data frequency.
  known_covariates_names: List[str], optional
      Names of the covariates that are known in advance for all time steps in the forecast horizon. These are also
      known as dynamic features, exogenous variables, additional regressors or related time series. Examples of such
      covariates include holidays, promotions or weather forecasts.
  
      Currently, only numeric (float of integer dtype) are supported.
  
      If ``known_covariates_names`` are provided, then:
  
      - :meth:`~autogluon.timeseries.TimeSeriesPredictor.fit`, :meth:`~autogluon.timeseries.TimeSeriesPredictor.evaluate`, and :meth:`~autogluon.timeseries.TimeSeriesPredictor.leaderboard` will expect a data frame with columns listed in ``known_covariates_names`` (in addition to the ``target`` column).
      - :meth:`~autogluon.timeseries.TimeSeriesPredictor.predict` will expect an additional keyword argument ``known_covariates`` containing the future values of the known covariates in ``TimeSeriesDataFrame`` format.
  
  quantile_levels : List[float], optional
      List of increasing decimals that specifies which quantiles should be estimated when making distributional
      forecasts. Defaults to ``[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]``.
  path : str or pathlib.Path, optional
      Path to the directory where models and intermediate outputs will be saved. Defaults to a timestamped folder
      ``AutogluonModels/ag-[TIMESTAMP]`` that will be created in the working directory.
  verbosity : int, default = 2
      Verbosity levels range from 0 to 4 and control how much information is printed to stdout. Higher levels
      correspond to more detailed print statements, and ``verbosity=0`` suppresses output including warnings.
      If using ``logging``, you can alternatively control amount of information printed via ``logger.setLevel(L)``,
      where ``L`` ranges from 0 to 50 (Note: higher values of ``L`` correspond to fewer print statements, opposite
      of verbosity levels).
  cache_predictions : bool, default = True
      If True, the predictor will cache and reuse the predictions made by individual models whenever
      :meth:`~autogluon.timeseries.TimeSeriesPredictor.predict`, :meth:`~autogluon.timeseries.TimeSeriesPredictor.leaderboard`,
      or :meth:`~autogluon.timeseries.TimeSeriesPredictor.evaluate` methods are called. This allows to significantly
      speed up these methods. If False, caching will be disabled. You can set this argument to False to reduce disk
      usage at the cost of longer prediction times.
  label : str, optional
      Alias for :attr:`target`.
class_docstr_tok: ["AutoGluon","``","TimeSeriesPredictor","``","predicts","future","values","of","multiple","related","time","series",".","``","TimeSeriesPredictor","``","provides","probabilistic","(","quantile",")","multi-step-ahead","forecasts","for","univariate","time","series",".","The","forecast","includes","both","the","mean","(","i.e.",",","conditional","expectation","of","future","values","given","the","past",")",",","as","well","as","the","quantiles","of","the","forecast","distribution",",","indicating","the","range","of","possible","future","outcomes",".","``","TimeSeriesPredictor","``","fits","both","``","global","''","deep","learning","models","that","are","shared","across","all","time","series","(","e.g.",",","DeepAR",",","Transformer",")",",","as","well","as","``","local","''","statistical","models","that","are","fit","to","each","individual","time","series","(","e.g.",",","ARIMA",",","ETS",")",".","``","TimeSeriesPredictor","``","expects","input","data","and","makes","predictions","in","the",":","class",":","`","~autogluon.timeseries.TimeSeriesDataFrame","`","format",".","Parameters","--","--","--","--","--","target",":","str",",","default","=","``","target","''","Name","of","column","that","contains","the","target","values","to","forecast","(","i.e.",",","numeric","observations","of","the","time","series",")",".","prediction_length",":","int",",","default","=","1","The","forecast","horizon",",","i.e.",",","How","many","time","steps","into","the","future","the","models","should","be","trained","to","predict",".","For","example",",","if","time","series","contain","daily","observations",",","setting","``","prediction_length","=","3","``","will","train","models","that","predict","up","to","3","days","into","the","future","from","the","most","recent","observation",".","freq",":","str",",","optional","Frequency","of","the","time","series","data","(","see","`","pandas","documentation","<","https",":","\/\/pandas.pydata.org\/pandas-docs\/stable\/user_guide\/timeseries.html","#","offset-aliases",">","`","_","for","available","frequencies",")",".","For","example",",","``","``","D","''","``","for","daily","data","or","``","``","H","''","``","for","hourly","data",".","By","default",",","the","predictor","will","attempt","to","automatically","infer","the","frequency","from","the","data",".","This","argument","should","only","be","set","in","two","cases",":","1",".","The","time","series","data","has","irregular","timestamps",",","so","frequency","can","not","be","inferred","automatically",".","2",".","You","would","like","to","resample","the","original","data","at","a","different","frequency","(","for","example",",","convert","hourly","measurements","into","daily","measurements",")",".","If","``","freq","``","is","provided","when","creating","the","predictor",",","all","data","passed","to","the","predictor","will","be","automatically","resampled","at","this","frequency",".","eval_metric",":","Union","[","str",",","TimeSeriesScorer","]",",","default","=","``","WQL","''","Metric","by","which","predictions","will","be","ultimately","evaluated","on","future","test","data",".","AutoGluon","tunes","hyperparameters","in","order","to","improve","this","metric","on","validation","data",",","and","ranks","models","(","on","validation","data",")","according","to","this","metric",".","Probabilistic","forecast","metrics","(","evaluated","on","quantile","forecasts","for","the","specified","``","quantile_levels","``",")",":","-","``","``","SQL","''","``",":","scaled","quantile","loss","-","``","``","WQL","''","``",":","weighted","quantile","loss","Point","forecast","metrics","(","these","are","always","evaluated","on","the","``","``","mean","''","``","column","of","the","predictions",")",":","-","``","``","MAE","''","``",":","mean","absolute","error","-","``","``","MAPE","''","``",":","mean","absolute","percentage","error","-","``","``","MASE","''","``",":","mean","absolute","scaled","error","-","``","``","MSE","''","``",":","mean","squared","error","-","``","``","RMSE","''","``",":","root","mean","squared","error","-","``","``","RMSSE","''","``",":","root","mean","squared","scaled","error","-","``","``","SMAPE","''","``",":","``","symmetric","''","mean","absolute","percentage","error","-","``","``","WAPE","''","``",":","weighted","absolute","percentage","error","For","more","information","about","these","metrics",",","see",":","ref",":","`","Forecasting","Time","Series","-","Evaluation","Metrics","<","forecasting_metrics",">","`",".","eval_metric_seasonal_period",":","int",",","optional","Seasonal","period","used","to","compute","some","evaluation","metrics","such","as","mean","absolute","scaled","error","(","MASE",")",".","Defaults","to","``","None","``",",","in","which","case","the","seasonal","period","is","computed","based","on","the","data","frequency",".","known_covariates_names",":","List","[","str","]",",","optional","Names","of","the","covariates","that","are","known","in","advance","for","all","time","steps","in","the","forecast","horizon",".","These","are","also","known","as","dynamic","features",",","exogenous","variables",",","additional","regressors","or","related","time","series",".","Examples","of","such","covariates","include","holidays",",","promotions","or","weather","forecasts",".","Currently",",","only","numeric","(","float","of","integer","dtype",")","are","supported",".","If","``","known_covariates_names","``","are","provided",",","then",":","-",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.fit","`",",",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.evaluate","`",",","and",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.leaderboard","`","will","expect","a","data","frame","with","columns","listed","in","``","known_covariates_names","``","(","in","addition","to","the","``","target","``","column",")",".","-",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.predict","`","will","expect","an","additional","keyword","argument","``","known_covariates","``","containing","the","future","values","of","the","known","covariates","in","``","TimeSeriesDataFrame","``","format",".","quantile_levels",":","List","[","float","]",",","optional","List","of","increasing","decimals","that","specifies","which","quantiles","should","be","estimated","when","making","distributional","forecasts",".","Defaults","to","``","[","0.1",",","0.2",",","0.3",",","0.4",",","0.5",",","0.6",",","0.7",",","0.8",",","0.9","]","``",".","path",":","str","or","pathlib.Path",",","optional","Path","to","the","directory","where","models","and","intermediate","outputs","will","be","saved",".","Defaults","to","a","timestamped","folder","``","AutogluonModels\/ag-","[","TIMESTAMP","]","``","that","will","be","created","in","the","working","directory",".","verbosity",":","int",",","default","=","2","Verbosity","levels","range","from","0","to","4","and","control","how","much","information","is","printed","to","stdout",".","Higher","levels","correspond","to","more","detailed","print","statements",",","and","``","verbosity=0","``","suppresses","output","including","warnings",".","If","using","``","logging","``",",","you","can","alternatively","control","amount","of","information","printed","via","``","logger.setLevel","(","L",")","``",",","where","``","L","``","ranges","from","0","to","50","(","Note",":","higher","values","of","``","L","``","correspond","to","fewer","print","statements",",","opposite","of","verbosity","levels",")",".","cache_predictions",":","bool",",","default","=","True","If","True",",","the","predictor","will","cache","and","reuse","the","predictions","made","by","individual","models","whenever",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.predict","`",",",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.leaderboard","`",",","or",":","meth",":","`","~autogluon.timeseries.TimeSeriesPredictor.evaluate","`","methods","are","called",".","This","allows","to","significantly","speed","up","these","methods",".","If","False",",","caching","will","be","disabled",".","You","can","set","this","argument","to","False","to","reduce","disk","usage","at","the","cost","of","longer","prediction","times",".","label",":","str",",","optional","Alias","for",":","attr",":","`","target","`","."]
code: def _load_version_file(cls, path: str) -> str:
      version_file_path = os.path.join(
          path, cls._predictor_version_file_name
      )
      version = load_str.load(path=version_file_path)
      return version
  
imports: import json
  import logging
  import os
  import pprint
  import time
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Tuple, Type, Union
  import pandas
  from autogluon.common.utils.deprecated_utils import Deprecated
  from autogluon.common.utils.log_utils import set_logger_verbosity
  from autogluon.common.utils.system_info import get_ag_system_info
  from autogluon.common.utils.utils import check_saved_predictor_version, seed_everything, setup_outputdir
  from autogluon.core.utils.decorators import apply_presets
  from autogluon.core.utils.loaders import load_pkl, load_str
  from autogluon.core.utils.savers import save_pkl, save_str
  from autogluon.timeseries import __version__
  from autogluon.timeseries.configs import TIMESERIES_PRESETS_CONFIGS
  from autogluon.timeseries.dataset.ts_dataframe import ITEMID, TimeSeriesDataFrame
  from autogluon.timeseries.learner import AbstractLearner, TimeSeriesLearner
  from autogluon.timeseries.metrics import TimeSeriesScorer, check_get_evaluation_metric
  from autogluon.timeseries.splitter import ExpandingWindowSplitter
  from autogluon.timeseries.trainer import AbstractTimeSeriesTrainer
label_desc: Use image node_id 13 for calling the TimeSeriesPredictor obj's underlying member method code with example usage: obj._load_version_file(cls, path) and returns: version