docstr: Returns the config of the optimizer.
  
  An optimizer config is a Python dictionary (serializable)
  containing the configuration of an optimizer.
  The same optimizer can be reinstantiated later
  (without any saved state) from this configuration.
  
  Subclass optimizer should override this method to include other
  hyperparameters.
  
  Returns:
      Python dictionary.
docstr_tok: ["Returns","the","config","of","the","optimizer",".","An","optimizer","config","is","a","Python","dictionary","(","serializable",")","containing","the","configuration","of","an","optimizer",".","The","same","optimizer","can","be","reinstantiated","later","(","without","any","saved","state",")","from","this","configuration",".","Subclass","optimizer","should","override","this","method","to","include","other","hyperparameters",".","Returns",":","Python","dictionary","."]
code: def get_config(self):
      """Returns the config of the optimizer.
  
      An optimizer config is a Python dictionary (serializable)
      containing the configuration of an optimizer.
      The same optimizer can be reinstantiated later
      (without any saved state) from this configuration.
  
      Subclass optimizer should override this method to include other
      hyperparameters.
  
      Returns:
          Python dictionary.
      """
  
      if isinstance(
          self._learning_rate,
          learning_rate_schedule.LearningRateSchedule,
      ):
          learning_rate = learning_rate_schedule.serialize(
              self._learning_rate
          )
      elif isinstance(self._learning_rate, backend.Variable):
          learning_rate = float(self._learning_rate.numpy())
      elif ops.is_tensor(self._learning_rate):
          learning_rate = float(self._learning_rate)
      elif callable(self._learning_rate):
          learning_rate = serialization_lib.serialize_keras_object(
              self._learning_rate
          )
  
      config = {
          "name": self.name,
          "learning_rate": learning_rate,
          "weight_decay": self.weight_decay,
          "clipnorm": self.clipnorm,
          "global_clipnorm": self.global_clipnorm,
          "clipvalue": self.clipvalue,
          "use_ema": self.use_ema,
          "ema_momentum": self.ema_momentum,
          "ema_overwrite_frequency": self.ema_overwrite_frequency,
          "loss_scale_factor": self.loss_scale_factor,
          "gradient_accumulation_steps": self.gradient_accumulation_steps,
      }
      return config
  
imports: import re
  import warnings
  import numpy
  from keras import backend
  from keras import initializers
  from keras import ops
  from keras.optimizers.schedules import learning_rate_schedule
  from keras.saving import serialization_lib
  from keras.utils import tracking
  from keras.utils.naming import auto_name
label_desc: Use image node_id 37 for calling the BaseOptimizer obj's underlying member method code with example usage: obj.get_config() and returns: config