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).
class_docstr_tok: ["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 __init__(self, schedule, batch_size, steps_per_epoch):
      super(LearningRateBatchScheduler, self).__init__()
      self.schedule = schedule
      self.steps_per_epoch = steps_per_epoch
      self.batch_size = batch_size
      self.epochs = -1
      self.prev_lr = -1
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl import app
  from absl import flags
  from absl import logging
  import numpy
  import tensorflow
  from official.benchmark.models import cifar_preprocessing
  from official.benchmark.models import resnet_cifar_model
  from official.benchmark.models import synthetic_util
  from official.utils.flags import core
  from official.utils.misc import distribution_utils
  from official.utils.misc import keras_utils
  from official.vision.image_classification.resnet import common
label_desc: Use image node_id 1 to create a new LearningRateBatchScheduler object from inherited base classes: tf.keras.callbacks with example: obj = LearningRateBatchScheduler(schedule, batch_size, steps_per_epoch)