View source on GitHub
|
Update ref by assigning value to it.
tf.compat.v1.assign(
ref, value, validate_shape=None, use_locking=None, name=None
)
Migrate to TF2
tf.compat.v1.assign is mostly compatible with eager
execution and tf.function. However, argument 'validate_shape' will be
ignored. To avoid shape validation, set 'shape' to tf.TensorShape(None) when
constructing the variable:
import tensorflow as tfa = tf.Variable([1], shape=tf.TensorShape(None))tf.compat.v1.assign(a, [2,3])
To switch to the native TF2 style, one could use method 'assign' of
tf.Variable:
How to Map Arguments
| TF1 Arg Name | TF2 Arg Name | Note |
|---|---|---|
ref |
self |
In assign() method |
value |
value |
In assign() method |
validate_shape
|
Not supported | Specify shape in the
constructor to replicate
behavior |
use_locking |
use_locking |
In assign() method |
name |
name |
In assign() method |
| - | read_value
|
Set to True to replicate behavior (True is default) |
Description
This operation outputs a Tensor that holds the new value of ref after
the value has been assigned. This makes it easier to chain operations that
need to use the reset value.
Returns | |
|---|---|
A Tensor that will hold the new value of ref after
the assignment has completed.
|
Before & After Usage Example
Before:
with tf.Graph().as_default():with tf.compat.v1.Session() as sess:a = tf.compat.v1.Variable(0, dtype=tf.int64)sess.run(a.initializer)update_op = tf.compat.v1.assign(a, 2)res_a = sess.run(update_op)res_a2
After:
b = tf.Variable(0, dtype=tf.int64)res_b = b.assign(2)res_b.numpy()2
View source on GitHub