tf.raw_ops.ScatterUpdate
Применяет разреженные обновления к ссылке на переменную.
tf.raw_ops.ScatterUpdate(
ref, indices, updates, use_locking=True, name=None
)
Данная операция вычисляет
# Scalar indices ref[indices, ...] = updates[...] # Vector indices (for each i) ref[indices[i], ...] = updates[i, ...] # High rank indices (for each i, ..., j) ref[indices[i, ..., j], ...] = updates[i, ..., j, ...]
Данная операция выводит ref после завершения обновления. Это упрощает цепочку операций, которым требуется использовать начальное значение.
Если значения в ref должны быть обновлены более одного раза, потому что в indices есть дублирующиеся записи, порядок обновлений для каждого значения не определён.
Требуется updates.shape = indices.shape + ref.shape[1:] или updates.shape = [].
См. также tf.batch_scatter_update и tf.scatter_nd_update.
| Аргументы | |
|---|---|
ref | Изменяемая Tensor. Должна быть получена из узла Variable |
indices | Tensor. Должен быть одного из следующих типов: int32, int64. Массив индексов в первом измерении ref. |
updates | Tensor. Должен иметь тот же тип, что и ref. Массив обновляемых значений для хранения в ref. |
use_locking | Необязательный bool. По умолчанию True. Если True, присваивание будет защищено блокировкой; в противном случае поведение не определено, но может иметь меньшую конкуренцию. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Изменяемая Tensor. Имеет тот же тип, что и ref. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/raw_ops/ScatterUpdate