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