Метод scatter_update
Метод scatter_update класса Variable применяется к переменной и позволяет обновить ее отдельные срезы новыми значениями. Первым параметром метод принимает индексы обновляемых срезов, вторым - тензор с новыми значениями. Обновление происходит вдоль первой оси переменной. Метод возвращает ссылку на саму переменную, поэтому его можно использовать в цепочке вызовов.
Синтаксис
v.scatter_update(indices, updates, [name])
Пример
Давайте создадим переменную из тензора чисел и обновим ее первый и третий срезы:
import tensorflow as tf
v = tf.Variable([1, 2, 3, 4, 5])
v.scatter_update([0, 2], [10, 30])
print(v)
Результат выполнения кода:
<tf.Variable 'Variable:0' shape=(5,) dtype=int32, numpy=array([10, 2, 30, 4, 5], dtype=int32)>
Пример
Давайте создадим двумерную переменную и обновим ее вторую строку:
import tensorflow as tf
v = tf.Variable([[1, 2, 3], [4, 5, 6]])
v.scatter_update([1], [[40, 50, 60]])
print(v)
Результат выполнения кода:
<tf.Variable 'Variable:0' shape=(2, 3) dtype=int32, numpy=
array([[ 1, 2, 3],
[40, 50, 60]], dtype=int32)>
Смотрите также
-
класс
Variable,
который создает изменяемый тензор -
метод
scatter_nd_update,
который обновляет срезы по многомерным индексам -
метод
assign,
который полностью заменяет значение переменной -
метод
assign_add,
который прибавляет значение к переменной