class_docstr: The learning rate schedule callback decreases the learning rate by a
  predefined factor after each of the provided milestones (after x seconds
  during training).
code: def on_train_batch_end(
      self, network: nn.HybridBlock, time_elapsed: float
  ) -> None:
      if (
          len(self.milestones) > self.milestone_index
          and time_elapsed > self.milestones[self.milestone_index]
      ):
          self.milestone_index += 1
          self.lr = self.lr * self.decay
          cast(Trainer, self.trainer).set_learning_rate(self.lr)
  
file_path: gluonts/src/gluonts/nursery/tsbench/src/tsbench/gluonts/callbacks/learning_rate.py
imports: from typing import cast, List, Optional
  from mxnet.gluon import nn
  from mxnet.gluon.trainer import Trainer
  from .base import Callback
label_desc: Use image node_id 3 for calling the LearningRateScheduleCallback obj's underlying member method code with example usage: obj.on_train_batch_end(network, time_elapsed) without return types