parameters: (ref, value, use_locking=None, name=None)
return_statement: return ref.assign_sub(value)
docstring: Update 'ref' by subtracting 'value' from it.
  
    This operation outputs "ref" after the update is done.
    This makes it easier to chain operations that need to use the reset value.
  
    Args:
      ref: A mutable `Tensor`. Must be one of the following types:
        `float32`, `float64`, `int64`, `int32`, `uint8`, `uint16`, `int16`,
        `int8`, `complex64`, `complex128`, `qint8`, `quint8`, `qint32`, `half`.
        Should be from a `Variable` node.
      value: A `Tensor`. Must have the same type as `ref`.
        The value to be subtracted to the variable.
      use_locking: An optional `bool`. Defaults to `False`.
        If True, the subtraction will be protected by a lock;
        otherwise the behavior is undefined, but may exhibit less contention.
      name: A name for the operation (optional).
  
    Returns:
      Same as "ref".  Returned as a convenience for operations that want
      to use the new value after the variable has been updated.
docstring_summary: Update 'ref' by subtracting 'value' from it.
docstring_tokens: Update ref by subtracting value from it .
function: def assign_sub(ref, value, use_locking=None, name=None):
    """Update 'ref' by subtracting 'value' from it.
  
    This operation outputs "ref" after the update is done.
    This makes it easier to chain operations that need to use the reset value.
  
    Args:
      ref: A mutable `Tensor`. Must be one of the following types:
        `float32`, `float64`, `int64`, `int32`, `uint8`, `uint16`, `int16`,
        `int8`, `complex64`, `complex128`, `qint8`, `quint8`, `qint32`, `half`.
        Should be from a `Variable` node.
      value: A `Tensor`. Must have the same type as `ref`.
        The value to be subtracted to the variable.
      use_locking: An optional `bool`. Defaults to `False`.
        If True, the subtraction will be protected by a lock;
        otherwise the behavior is undefined, but may exhibit less contention.
      name: A name for the operation (optional).
  
    Returns:
      Same as "ref".  Returned as a convenience for operations that want
      to use the new value after the variable has been updated.
    """
    if ref.dtype._is_ref_dtype:
      return gen_state_ops.assign_sub(
          ref, value, use_locking=use_locking, name=name)
    return ref.assign_sub(value)
function_tokens: def assign_sub ( ref , value , use_locking = None , name = None ) : if ref . dtype . _is_ref_dtype : return gen_state_ops . assign_sub ( ref , value , use_locking = use_locking , name = name ) return ref . assign_sub ( value )