class_docstr: Optimizer that implements the Adafactor algorithm.
  
  Adafactor is commonly used in NLP tasks, and has the advantage
  of taking less memory because it only saves partial information of previous
  gradients.
  
  The default argument setup is based on the original paper (see reference).
  When gradients are of dimension > 2, Adafactor optimizer will delete the
  last 2 dimensions separately in its accumulator variables.
  
  Args:
      learning_rate: A float, a
          `keras.optimizers.schedules.LearningRateSchedule` instance, or
          a callable that takes no arguments and returns the actual value to
          use. The learning rate. Defaults to `0.001`.
      beta_2_decay: float, defaults to -0.8. The decay rate of `beta_2`.
      epsilon_1: float, defaults to 1e-30. A small offset to keep denominator
          away from 0.
      epsilon_2: float, defaults to 1e-3. A small offset to avoid learning
          rate becoming too small by time.
      clip_threshold: float, defaults to 1.0. Clipping threshold. This is a
          part of Adafactor algorithm, independent from `clipnorm`,
          `clipvalue`, and `global_clipnorm`.
      relative_step: bool, defaults to True. If `learning_rate` is a
          constant and `relative_step=True`, learning rate will be adjusted
          based on current iterations. This is a default learning rate decay
          in Adafactor.
      {{base_optimizer_keyword_args}}
  
  Reference:
  
  - [Shazeer, Noam et al., 2018](https://arxiv.org/abs/1804.04235).
code: def get_config(self):
      config = super().get_config()
  
      config.update(
          {
              "beta_2_decay": self.beta_2_decay,
              "epsilon_1": self.epsilon_1,
              "epsilon_2": self.epsilon_2,
              "clip_threshold": self.clip_threshold,
              "relative_step": self.relative_step,
          }
      )
      return config
  
file_path: keras/keras/optimizers/adafactor.py
imports: from keras import backend
  from keras import ops
  from keras.api_export import keras_export
  from keras.optimizers import optimizer
label_desc: Use image node_id 5 for calling the Adafactor obj's underlying member method code with example usage: obj.get_config() and returns: config