code: def _get_scheduled_rate_param(
      self, base_param: float, factors: List[float], steps: List[int]
  ) -> float:
      for factor, sched_step in zip(factors, steps):
          param = base_param * factor
          if self.trainer.global_step < sched_step:
              return param
  
      return base_param * factors[-1]
  
imports: import math
  from typing import List, NamedTuple, Optional
  import hydra
  import torch
  from image_module import ImageModule
  from omegaconf import DictConfig
  from torch import Tensor
  from torch.utils.data import Dataset
  from neuralcompression import HyperpriorOutput
  from neuralcompression.loss_fn import DistortionLoss, MSELoss, TargetRateConfig
  from neuralcompression.metrics import pickle_size_of
  from neuralcompression.models import HyperpriorAutoencoderBase
label_desc: Use image node_id 5 for calling the TargetRateCompressionModule obj's underlying member method code with example usage: obj._get_scheduled_rate_param(base_param, factors, steps) and returns: unknown, param