code: def _train_model(self, model, dataset):
      with R.start(experiment_name=self.exp_name):
          R.log_params(**flatten_dict(self.task))
          model.fit(dataset)
          R.save_objects(**{"params.pkl": model})
  
          # prediction
          recorder = R.get_recorder()
          sr = SignalRecord(model, dataset, recorder)
          sr.generate()
  
file_path: qlib/examples/nested_decision_execution/workflow.py
imports: from copy import deepcopy
  import qlib
  import fire
  import pandas
  from qlib.constant import REG_CN
  from qlib.config import HIGH_FREQ_CONFIG
  from qlib.data import D
  from qlib.utils import exists_qlib_data, init_instance_by_config, flatten_dict
  from qlib.workflow import R
  from qlib.workflow.record_temp import SignalRecord, PortAnaRecord
  from qlib.tests.data import GetData
  from qlib.backtest import collect_data
label_desc: Use image node_id 2 for calling the NestedDecisionExecutionWorkflow obj's underlying member method code with example usage: obj._train_model(model, dataset) without return types