tf.compat.v1.assign_sub
Stay organized with collections
Save and categorize content based on your preferences.
Update ref
by subtracting value
from it.
tf . compat . v1 . assign_sub (
ref , value , use_locking = None , name = None
)
Caution: This API was designed for TensorFlow v1.
Continue reading for details on how to migrate from this API to a native
TensorFlow v2 equivalent. See the
TensorFlow v1 to TensorFlow v2 migration guide
for instructions on how to migrate the rest of your code.
tf.compat.v1.assign_sub
is mostly compatible with eager
execution and tf.function
.
To switch to the native TF2 style, one could use method 'assign_sub' of
tf.Variable
:
How to Map Arguments
TF1 Arg Name
TF2 Arg Name
Note
ref
self
In assign_sub()
method
value
value
In assign_sub()
method
use_locking
use_locking
In assign_sub()
method
name
name
In assign_sub()
method
-
read_value
Set to True to replicate
behavior (True is default)
Before & After Usage Example
Before:
with tf . Graph () . as_default ():
with tf . compat . v1 . Session () as sess :
a = tf . compat . v1 . Variable ( 1 , dtype = tf . int64 )
sess . run ( a . initializer )
update_op = tf . compat . v1 . assign_sub ( a , 1 )
res_a = sess . run ( update_op )
res_a
0
After:
b = tf . Variable ( 1 , dtype = tf . int64 )
res_b = b . assign_sub ( 1 )
res_b . numpy ()
0
Description
This operation outputs ref
after the update is done.
This makes it easier to chain operations that need to use the reset value.
Unlike tf.math.subtract
, this op does not broadcast. ref
and value
must have the same shape.
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 shape and dtype 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.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license .
Last updated 2023-03-17 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2023-03-17 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-03-17 UTC."],[],[]]