code: def learning_rate_schedule(
      current_epoch, current_batch, steps_per_epoch, batch_size
  ):
      """Handles linear scaling rule, gradual warmup, and LR decay.
  
      Scale learning rate at epoch boundaries provided in LR_SCHEDULE by the
      provided scaling factor.
  
      Args:
        current_epoch: integer, current epoch indexed from 0.
        current_batch: integer, current batch in the current epoch, indexed from 0.
        steps_per_epoch: integer, number of steps in an epoch.
        batch_size: integer, total batch sized.
  
      Returns:
        Adjusted learning rate.
      """
      initial_lr = BASE_LEARNING_RATE * batch_size / 256
      epoch = current_epoch + float(current_batch) / steps_per_epoch
      warmup_lr_multiplier, warmup_end_epoch = LR_SCHEDULE[0]
      if epoch < warmup_end_epoch:
          # Learning rate increases linearly per step.
          return (
              initial_lr
              * warmup_lr_multiplier
              * epoch
              / warmup_end_epoch
          )
      for mult, start_epoch in LR_SCHEDULE:
          if epoch >= start_epoch:
              learning_rate = initial_lr * mult
          else:
              break
      return learning_rate
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  from absl import flags
  import numpy
  import tensorflow
  from tensorflow.python.keras.optimizer_v2 import gradient_descent
  from utils.flags import core
  from utils.misc import keras_utils
label_desc: Use image node_id 1 for calling a global function with example usage: learning_rate_schedule(current_epoch, current_batch, steps_per_epoch, batch_size) and returns: learning_rate, unknown