class_docstr: The training configuration may be derived by any estimator which is trained
  via the GluonTS `Trainer` class.
code: def _create_trainer(
      self,
      training_time: float,
      validation_milestones: List[float],
      callbacks: List[Callback],
  ) -> TimedTrainer:
      return TimedTrainer(
          training_time=training_time,
          validation_milestones=validation_milestones,
          learning_rate=self.learning_rate,
          callbacks=callbacks,
      )
  
imports: from dataclasses import asdict, dataclass, MISSING
  from pathlib import Path
  from typing import Any, Dict, List, Optional, TypeVar
  from gluonts.model.estimator import Estimator
  from gluonts.model.predictor import Predictor
  from mxnet.gluon import nn
  from tsbench.config.dataset import DatasetConfig
  from tsbench.gluonts import TimedTrainer
  from tsbench.gluonts.callbacks import Callback
label_desc: Use image node_id 3 for calling the TrainConfig obj's underlying member method code with example usage: obj._create_trainer(training_time, validation_milestones, callbacks) and returns: TimedTrainer