class_docstr: Optimizer that implements the Proximal Adagrad algorithm.
  
  References:
      - [Efficient Learning using Forward-Backward Splitting](
        http://papers.nips.cc/paper/3793-efficient-learning-using-forward-backward-splitting.pdf).
class_docstr_tok: ["Optimizer","that","implements","the","Proximal","Adagrad","algorithm",".","References",":","-","[","Efficient","Learning","using","Forward-Backward","Splitting","]","(","http",":","\/\/papers.nips.cc\/paper\/3793-efficient-learning-using-forward-backward-splitting.pdf",")","."]
docstr: Construct a new Proximal Adagrad optimizer.
  
  Args:
      learning_rate: A Tensor or a floating point value, or a schedule
          that is a `tf.keras.optimizers.schedules.LearningRateSchedule`.
          The learning rate.
      initial_accumulator_value: A floating point value.
          Starting value for the accumulators, must be positive.
      l1_regularization_strength: A floating point value.
          The l1 regularization term, must be greater than or
          equal to zero.
      l2_regularization_strength: A floating point value.
          The l2 regularization term, must be greater than or
          equal to zero.
      name: Optional name for the operations created when applying
          gradients. Defaults to "ProximalAdagrad".
      **kwargs: keyword arguments. Allowed to be {`clipnorm`,
          `clipvalue`, `lr`, `decay`}. `clipnorm` is clip gradients
          by norm; `clipvalue` is clip gradients by value, `decay` is
          included for backward compatibility to allow time inverse
          decay of learning rate. `lr` is included for backward
          compatibility, recommended to use `learning_rate` instead.
  Raises:
      ValueError: If the `initial_accumulator_value`, `l1` or `l2`
          is invalid.
docstr_tok: ["Construct","a","new","Proximal","Adagrad","optimizer",".","Args",":","learning_rate",":","A","Tensor","or","a","floating","point","value",",","or","a","schedule","that","is","a","`","tf.keras.optimizers.schedules.LearningRateSchedule","`",".","The","learning","rate",".","initial_accumulator_value",":","A","floating","point","value",".","Starting","value","for","the","accumulators",",","must","be","positive",".","l1_regularization_strength",":","A","floating","point","value",".","The","l1","regularization","term",",","must","be","greater","than","or","equal","to","zero",".","l2_regularization_strength",":","A","floating","point","value",".","The","l2","regularization","term",",","must","be","greater","than","or","equal","to","zero",".","name",":","Optional","name","for","the","operations","created","when","applying","gradients",".","Defaults","to","``","ProximalAdagrad","''",".","*","*","kwargs",":","keyword","arguments",".","Allowed","to","be","{","`","clipnorm","`",",","`","clipvalue","`",",","`","lr","`",",","`","decay","`","}",".","`","clipnorm","`","is","clip","gradients","by","norm",";","`","clipvalue","`","is","clip","gradients","by","value",",","`","decay","`","is","included","for","backward","compatibility","to","allow","time","inverse","decay","of","learning","rate",".","`","lr","`","is","included","for","backward","compatibility",",","recommended","to","use","`","learning_rate","`","instead",".","Raises",":","ValueError",":","If","the","`","initial_accumulator_value","`",",","`","l1","`","or","`","l2","`","is","invalid","."]
code: def __init__(
      self,
      learning_rate: Union[FloatTensorLike, Callable] = 0.001,
      initial_accumulator_value: float = 0.1,
      l1_regularization_strength: float = 0.0,
      l2_regularization_strength: float = 0.0,
      name: str = "ProximalAdagrad",
      **kwargs,
  ):
      """Construct a new Proximal Adagrad optimizer.
  
      Args:
          learning_rate: A Tensor or a floating point value, or a schedule
              that is a `tf.keras.optimizers.schedules.LearningRateSchedule`.
              The learning rate.
          initial_accumulator_value: A floating point value.
              Starting value for the accumulators, must be positive.
          l1_regularization_strength: A floating point value.
              The l1 regularization term, must be greater than or
              equal to zero.
          l2_regularization_strength: A floating point value.
              The l2 regularization term, must be greater than or
              equal to zero.
          name: Optional name for the operations created when applying
              gradients. Defaults to "ProximalAdagrad".
          **kwargs: keyword arguments. Allowed to be {`clipnorm`,
              `clipvalue`, `lr`, `decay`}. `clipnorm` is clip gradients
              by norm; `clipvalue` is clip gradients by value, `decay` is
              included for backward compatibility to allow time inverse
              decay of learning rate. `lr` is included for backward
              compatibility, recommended to use `learning_rate` instead.
      Raises:
          ValueError: If the `initial_accumulator_value`, `l1` or `l2`
              is invalid.
      """
      if initial_accumulator_value < 0.0:
          raise ValueError(
              "`initial_accumulator_value` must be non-negative."
          )
      if l1_regularization_strength < 0.0:
          raise ValueError(
              "`l1_regularization_strength` must be non-negative."
          )
      if l2_regularization_strength < 0.0:
          raise ValueError(
              "`l2_regularization_strength` must be non-negative."
          )
      super().__init__(name, **kwargs)
      self._set_hyper("learning_rate", kwargs.get("lr", learning_rate))
      self._set_hyper(
          "l1_regularization_strength", l1_regularization_strength
      )
      self._set_hyper(
          "l2_regularization_strength", l2_regularization_strength
      )
      self._initial_accumulator_value = initial_accumulator_value
  
file_path: addons/tensorflow_addons/optimizers/proximal_adagrad.py
imports: from typing import Callable, Union
  import tensorflow
  from typeguard import typechecked
  from tensorflow_addons.optimizers import KerasLegacyOptimizer
  from tensorflow_addons.utils.types import FloatTensorLike
label_desc: Use image node_id 1 to create a new ProximalAdagrad object from inherited base classes: KerasLegacyOptimizer with example: obj = ProximalAdagrad(learning_rate, initial_accumulator_value, l1_regularization_strength, l2_regularization_strength, name)