class_docstr: Adagrad Dual Averaging algorithm for sparse linear models.
  
  This optimizer takes care of regularization of unseen features in a mini batch
  by updating them when they are seen with a closed form update rule that is
  equivalent to having updated them on every mini-batch.
  
  AdagradDA is typically used when there is a need for large sparsity in the
  trained model. This optimizer only guarantees sparsity for linear models. Be
  careful when using AdagradDA for deep networks as it will require careful
  initialization of the gradient accumulators for it to train.
  
  References:
    Adaptive Subgradient Methods for Online Learning and Stochastic Optimization
      :[Duchi et al., 2011](http://jmlr.org/papers/v12/duchi11a.html)
      ([pdf](http://www.jmlr.org/papers/volume12/duchi11a/duchi11a.pdf))
docstr: Construct a new AdagradDA optimizer.
  
  Args:
    learning_rate: A `Tensor` or a floating point value.  The learning rate.
    global_step: A `Tensor` containing the current training step number.
    initial_gradient_squared_accumulator_value: A floating point value.
      Starting value for the accumulators, must be positive.
    l1_regularization_strength: A float value, must be greater than or
      equal to zero.
    l2_regularization_strength: A float value, must be greater than or
      equal to zero.
    use_locking: If `True` use locks for update operations.
    name: Optional name prefix for the operations created when applying
      gradients.  Defaults to "AdagradDA".
  
  Raises:
    ValueError: If the `initial_gradient_squared_accumulator_value` is
    invalid.
docstr_tok: ["Construct","a","new","AdagradDA","optimizer",".","Args",":","learning_rate",":","A","`","Tensor","`","or","a","floating","point","value",".","The","learning","rate",".","global_step",":","A","`","Tensor","`","containing","the","current","training","step","number",".","initial_gradient_squared_accumulator_value",":","A","floating","point","value",".","Starting","value","for","the","accumulators",",","must","be","positive",".","l1_regularization_strength",":","A","float","value",",","must","be","greater","than","or","equal","to","zero",".","l2_regularization_strength",":","A","float","value",",","must","be","greater","than","or","equal","to","zero",".","use_locking",":","If","`","True","`","use","locks","for","update","operations",".","name",":","Optional","name","prefix","for","the","operations","created","when","applying","gradients",".","Defaults","to","``","AdagradDA","''",".","Raises",":","ValueError",":","If","the","`","initial_gradient_squared_accumulator_value","`","is","invalid","."]
code: def __init__(
      self,
      learning_rate,
      global_step,
      initial_gradient_squared_accumulator_value=0.1,
      l1_regularization_strength=0.0,
      l2_regularization_strength=0.0,
      use_locking=False,
      name="AdagradDA",
  ):
      """Construct a new AdagradDA optimizer.
  
      Args:
        learning_rate: A `Tensor` or a floating point value.  The learning rate.
        global_step: A `Tensor` containing the current training step number.
        initial_gradient_squared_accumulator_value: A floating point value.
          Starting value for the accumulators, must be positive.
        l1_regularization_strength: A float value, must be greater than or
          equal to zero.
        l2_regularization_strength: A float value, must be greater than or
          equal to zero.
        use_locking: If `True` use locks for update operations.
        name: Optional name prefix for the operations created when applying
          gradients.  Defaults to "AdagradDA".
  
      Raises:
        ValueError: If the `initial_gradient_squared_accumulator_value` is
        invalid.
      """
      if initial_gradient_squared_accumulator_value <= 0.0:
          raise ValueError(
              "initial_gradient_squared_accumulator_value must be "
              "positive: %s"
              % initial_gradient_squared_accumulator_value
          )
      super(AdagradDAOptimizer, self).__init__(use_locking, name)
      self._learning_rate = learning_rate
      self._initial_gradient_squared_accumulator_value = (
          initial_gradient_squared_accumulator_value
      )
      # Created in Initialize.
      self._learning_rate_tensor = None
      self._l1_regularization_strength = l1_regularization_strength
      self._l2_regularization_strength = l2_regularization_strength
      self._global_step = global_step
      self._global_step_on_worker = None
  
file_path: tensorflow-upstream/tensorflow/python/training/adagrad_da.py
imports: from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gen_training_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.training import optimizer
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 1 to create a new AdagradDAOptimizer object from inherited base classes: optimizer with example: obj = AdagradDAOptimizer(learning_rate, global_step, initial_gradient_squared_accumulator_value, l1_regularization_strength, l2_regularization_strength, use_locking, name)