class_docstr: Ignite handler to update the Learning Rate based on PyTorch LR scheduler.
class_docstr_tok: ["Ignite","handler","to","update","the","Learning","Rate","based","on","PyTorch","LR","scheduler","."]
docstr: Args:
      engine: Ignite Engine, it can be a trainer, validator or evaluator.
docstr_tok: ["Args",":","engine",":","Ignite","Engine",",","it","can","be","a","trainer",",","validator","or","evaluator","."]
code: def attach(self, engine: Engine) -> None:
      """
      Args:
          engine: Ignite Engine, it can be a trainer, validator or evaluator.
      """
      if self._name is None:
          self.logger = engine.logger
      if self.epoch_level:
          engine.add_event_handler(Events.EPOCH_COMPLETED, self)
      else:
          engine.add_event_handler(Events.ITERATION_COMPLETED, self)
  
file_path: MONAI/monai/handlers/lr_schedule_handler.py
imports: from __future__ import annotations
  import logging
  from collections.abc import Callable
  from typing import TYPE_CHECKING, Any
  from torch.optim.lr_scheduler import ReduceLROnPlateau, _LRScheduler
  from monai.config import IgniteInfo
  from monai.utils import ensure_tuple, min_version, optional_import
label_desc: Use image node_id 2 for calling the LrScheduleHandler obj's underlying member method code with example usage: obj.attach(engine) without return types