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. |
© 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/api_docs/python/tf/raw_ops/ScatterUpdate