class_docstr: Callback to update learning rate on every batch (not epoch boundaries).
  
  N.B. Only support Keras optimizers, not TF optimizers.
  
  Attributes:
      schedule: a function that takes an epoch index and a batch index as input
          (both integer, indexed from 0) and returns a new learning rate as
          output (float).
code: def on_epoch_begin(self, epoch, logs=None):
      if not hasattr(self.model.optimizer, "learning_rate"):
          raise ValueError(
              'Optimizer must have a "learning_rate" attribute.'
          )
      self.epochs += 1
  
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 2 for calling the LearningRateBatchScheduler obj's underlying member method code with example usage: obj.on_epoch_begin(epoch, logs) without return types