code: def _cosine_decay_lr_lambda(
      current_step, num_warmup_steps, num_training_steps, num_cycles
  ):
      if current_step < num_warmup_steps:
          return float(current_step) / float(max(1, num_warmup_steps))
      progress = float(current_step - num_warmup_steps) / float(
          max(1, num_training_steps - num_warmup_steps)
      )
      return max(
          0.0,
          0.5
          * (
              1.0
              + math.cos(math.pi * float(num_cycles) * 2.0 * progress)
          ),
      )
  
file_path: autogluon/multimodal/src/autogluon/multimodal/optimization/lr_scheduler.py
imports: import functools
  import math
  from torch.optim.lr_scheduler import LambdaLR
label_desc: Use image node_id 1 for calling a global function with example usage: _cosine_decay_lr_lambda(current_step, num_warmup_steps, num_training_steps, num_cycles) and returns: max, unknown