class_docstr: It is a rolling based on DDG-DA
  
  **NOTE**
  before running the example, please clean your previous results with following command
  - `rm -r mlruns`
class_docstr_tok: ["It","is","a","rolling","based","on","DDG-DA","*","*","NOTE","*","*","before","running","the","example",",","please","clean","your","previous","results","with","following","command","-","`","rm","-r","mlruns","`"]
docstr: Leverage meta-model for inference:
  - Given
      - baseline tasks
      - input for meta model(internal data)
      - meta model (its learnt knowledge on proxy forecasting model is expected to transfer to normal forecasting model)
docstr_tok: ["Leverage","meta-model","for","inference",":","-","Given","-","baseline","tasks","-","input","for","meta","model","(","internal","data",")","-","meta","model","(","its","learnt","knowledge","on","proxy","forecasting","model","is","expected","to","transfer","to","normal","forecasting","model",")"]
code: def get_task_list(self):
      """
      Leverage meta-model for inference:
      - Given
          - baseline tasks
          - input for meta model(internal data)
          - meta model (its learnt knowledge on proxy forecasting model is expected to transfer to normal forecasting model)
      """
      # 1) get meta model
      exp = R.get_exp(experiment_name=self.meta_exp_name)
      rec = exp.list_recorders(rtype=exp.RT_L)[0]
      meta_model: MetaModelDS = rec.load_object("model")
  
      # 2)
      # we are transfer to knowledge of meta model to final forecasting tasks.
      # Create MetaTaskDataset for the final forecasting tasks
      # Aligning the setting of it to the MetaTaskDataset when training Meta model is necessary
  
      # 2.1) get previous config
      param = rec.list_params()
      trunc_days = int(param["trunc_days"])
      step = int(param["step"])
      hist_step_n = int(param["hist_step_n"])
      fill_method = param.get("fill_method", "max")
  
      task_l = super().get_task_list()
  
      # 2.2) create meta dataset for final dataset
      kwargs = dict(
          task_tpl=task_l,
          step=step,
          segments=0.0,  # all the tasks are for testing
          trunc_days=trunc_days,
          hist_step_n=hist_step_n,
          fill_method=fill_method,
          task_mode=MetaTask.PROC_MODE_TRANSFER,
      )
  
      with self._internal_data_path.open("rb") as f:
          internal_data = pickle.load(f)
      mds = MetaDatasetDS(exp_name=internal_data, **kwargs)
  
      # 3) meta model make inference and get new qlib task
      new_tasks = meta_model.inference(mds)
      with self._task_path.open("wb") as f:
          pickle.dump(new_tasks, f)
      return new_tasks
  
imports: from pathlib import Path
  import pickle
  from typing import Optional, Union
  import pandas
  import yaml
  from qlib.contrib.meta.data_selection.dataset import InternalData, MetaDatasetDS
  from qlib.contrib.meta.data_selection.model import MetaModelDS
  from qlib.data.dataset.handler import DataHandlerLP
  from qlib.model.meta.task import MetaTask
  from qlib.model.trainer import TrainerR
  from qlib.typehint import Literal
  from qlib.utils import init_instance_by_config
  from qlib.workflow import R
  from qlib.workflow.task.utils import replace_task_handler_with_cache
  from .base import Rolling
label_desc: Use image node_id 9 for calling the DDGDA obj's underlying member method code with example usage: obj.get_task_list() and returns: new_tasks