class_docstr: Optimizer that implements the proximal gradient descent algorithm.
  
  References:
    Efficient Learning using Forward-Backward Splitting:
      [Duchi et al., 2009](http://papers.nips.cc/paper/3793-efficient-learning-using-forward-backward-splitting)
      ([pdf](http://papers.nips.cc/paper/3793-efficient-learning-using-forward-backward-splitting.pdf))
class_docstr_tok: ["Optimizer","that","implements","the","proximal","gradient","descent","algorithm",".","References",":","Efficient","Learning","using","Forward-Backward","Splitting",":","[","Duchi","et","al.",",","2009","]","(","http",":","\/\/papers.nips.cc\/paper\/3793-efficient-learning-using-forward-backward-splitting",")","(","[","pdf","]","(","http",":","\/\/papers.nips.cc\/paper\/3793-efficient-learning-using-forward-backward-splitting.pdf",")",")"]
docstr: Construct a new proximal gradient descent optimizer.
  
  Args:
    learning_rate: A Tensor or a floating point value.  The learning
      rate to use.
    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 "GradientDescent".
docstr_tok: ["Construct","a","new","proximal","gradient","descent","optimizer",".","Args",":","learning_rate",":","A","Tensor","or","a","floating","point","value",".","The","learning","rate","to","use",".","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","``","GradientDescent","''","."]
code: def __init__(
      self,
      learning_rate,
      l1_regularization_strength=0.0,
      l2_regularization_strength=0.0,
      use_locking=False,
      name="ProximalGradientDescent",
  ):
      """Construct a new proximal gradient descent optimizer.
  
      Args:
        learning_rate: A Tensor or a floating point value.  The learning
          rate to use.
        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 "GradientDescent".
      """
      super(ProximalGradientDescentOptimizer, self).__init__(
          use_locking, name
      )
      self._learning_rate = learning_rate
      self._l1_regularization_strength = l1_regularization_strength
      self._l2_regularization_strength = l2_regularization_strength
      self._l1_regularization_strength_tensor = None
      self._l2_regularization_strength_tensor = None
  
file_path: tensorflow/tensorflow/python/training/proximal_gradient_descent.py
imports: from tensorflow.python.framework import 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 ProximalGradientDescentOptimizer object from inherited base classes: optimizer with example: obj = ProximalGradientDescentOptimizer(learning_rate, l1_regularization_strength, l2_regularization_strength, use_locking, name)