tf.keras.ops.scatter_update
Обновление входных данных с помощью обновлений по рассеянным (разреженным) индексам.
tf.keras.ops.scatter_update(
inputs, indices, updates
)
В целом, эта операция выполняет inputs[indices] = updates. Предположим, что inputs — это тензор формы (D0, D1, ..., Dn), есть 2 основных способа использования scatter_update.
-
indices— это 2-мерный тензор формы(num_updates, n), гдеnum_updates— количество обновлений, аupdates— 1-мерный тензор формы(num_updates,). Например, еслиinputs— этоzeros((4, 4, 4)), и мы хотим обновитьinputs[1, 2, 3]иinputs[0, 1, 3]как 1, то мы можем использовать:
inputs = np.zeros((4, 4, 4)) indices = [[1, 2, 3], [0, 1, 3]] updates = np.array([1., 1.]) inputs = keras.ops.scatter_update(inputs, indices, updates)
2 indices — это 2-мерный тензор формы (num_updates, k), где num_updates — это количество обновлений, а k (k < n) — размер каждого индекса в indices. updates — это n - k-мерный тензор формы (num_updates, inputs.shape[k:]). Например, если inputs = np.zeros((4, 4, 4)), и мы хотим обновить inputs[1, 2, :] и inputs[2, 3, :] как [1, 1, 1, 1], то indices будет иметь форму (num_updates, 2) (k = 2), а updates будет иметь форму (num_updates, 4) (inputs.shape[2:] = 4). Смотрите код ниже:
inputs = np.zeros((4, 4, 4)) indices = [[1, 2], [2, 3]] updates = np.array([[1., 1., 1, 1,], [1., 1., 1, 1,]) inputs = keras.ops.scatter_update(inputs, indices, updates)
| Аргументы | |
|---|---|
inputs | Тензор, тензор, который нужно обновить. |
indices | Тензор или список/кортеж формы (N, inputs.ndim), определяющий индексы для обновления. N — количество индексов для обновления, должно быть равно первой размерности updates. |
updates | Тензор, новые значения, которые нужно поместить в inputs по indices. |
| Возвращаемые значения | |
|---|---|
Тензор, имеющий ту же форму и тип, что и inputs. |
© 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/keras/ops/scatter_update