Reputation: 53
In TensorFlow 1.x, to update a tensor, I would use tf.scatter_update
, to only update the relevant part of the tensor.
How can we do the same thing in TF 2.0?
Upvotes: 5
Views: 3574
Reputation: 8585
You can use tf.tensor_scatter_nd_update()
:
import tensorflow as tf
import numpy as np
tensor = tf.convert_to_tensor(np.ones((2, 2)), dtype=tf.float32)
indices = tf.constant([[0, 0]])
updates = tf.constant([0.0])
tf.tensor_scatter_nd_update(tensor, indices, updates).numpy()
# array([[0., 1.],
# [1., 1.]], dtype=float32)
Upvotes: 4