class_docstr: The model saver callback saves the model during training at exponential
  frequency.
  
  Attributes:
      network: The network that was trained. Not available prior to training.
      saved_parameters: The parameters saved for the different milestones. Should only be
          accessed after training has finished and should not be modified.
      training_times: The training times in seconds for the different milestones.
      num_gradient_updates: The number of gradient updates for the different milestones.
class_docstr_tok: ["The","model","saver","callback","saves","the","model","during","training","at","exponential","frequency",".","Attributes",":","network",":","The","network","that","was","trained",".","Not","available","prior","to","training",".","saved_parameters",":","The","parameters","saved","for","the","different","milestones",".","Should","only","be","accessed","after","training","has","finished","and","should","not","be","modified",".","training_times",":","The","training","times","in","seconds","for","the","different","milestones",".","num_gradient_updates",":","The","number","of","gradient","updates","for","the","different","milestones","."]
code: def on_train_start(self, trainer: Trainer) -> None:
      self.seq = 0
      self.batch_count = 0
      self.network = None
      self.saved_parameters = []
      self.training_times = []
      self.num_gradient_updates = []
  
file_path: gluonts/src/gluonts/nursery/tsbench/src/tsbench/gluonts/callbacks/save.py
imports: from pathlib import Path
  from typing import List, Optional
  from mxnet.gluon import nn
  from mxnet.gluon.trainer import Trainer
  from .base import Callback
label_desc: Use image node_id 2 for calling the ModelSaverCallback obj's underlying member method code with example usage: obj.on_train_start(trainer) without return types