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 tf a = 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:
| TF1 Arg Name | TF2 Arg Name | Note | 
|---|---|---|
| ref | self | In assign()method | 
| value | value | In assign()method | 
| validate_shape | Not supported | Specify shapein 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) | 
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.
| Args | |
|---|---|
| ref | A mutable Tensor. Should be from aVariablenode. May be uninitialized. | 
| value | A Tensor. Must have the same shape and dtype asref. The value to be assigned to the variable. | 
| validate_shape | An optional bool. Defaults toTrue. If true, the operation will validate that the shape of 'value' matches the shape of the Tensor being assigned to. If false, 'ref' will take on the shape of 'value'. | 
| use_locking | An optional bool. Defaults toTrue. If True, the assignment will be protected by a lock; otherwise the behavior is undefined, but may exhibit less contention. | 
| name | A name for the operation (optional). | 
| Returns | |
|---|---|
| A Tensorthat will hold the new value ofrefafter the assignment has completed. | 
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_a
2
 b = tf.Variable(0, dtype=tf.int64) res_b = b.assign(2) res_b.numpy() 2
    © 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
    https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/assign