tf.gather
| Просмотреть исходный код на GitHub |
Извлечение фрагментов из params по оси axis согласно индексам.
tf.gather(
params, indices, validate_indices=None, axis=None, batch_dims=0, name=None
)
Извлечение фрагментов из params по оси axis согласно indices. indices должен быть целочисленным тензором любой размерности (обычно 0-мерным или 1-мерным).
Для 0-мерного (скалярного) indices:
Где N = ndims(params).
Для 1-мерного (векторного) indices с batch_dims=0:
В общем случае, генерирует тензор вывода, где:
Где N = ndims(params), M = ndims(indices), и B = batch_dims. Обратите внимание, что params.shape[:batch_dims] должно быть идентично indices.shape[:batch_dims].
Форма тензора вывода:
output.shape = params.shape[:axis] + indices.shape[batch_dims:] + params.shape[axis + 1:].
Обратите внимание, что на ЦП, если найден индекс за пределами границ, возвращается ошибка. На ГП, если найден индекс за пределами границ, в соответствующее значение вывода записывается 0.
См. также tf.gather_nd.
| Аргументы | |
|---|---|
params | Значение, из которого извлекаются значения. Должен быть хотя бы ранга axis + 1. |
indices | Индекс Tensor. Должен быть одного из следующих типов: int32, int64. Должен быть в пределах [0, params.shape[axis]). |
validate_indices | Устарело, ничего не делает. |
axis | Ось Tensor. Должен быть одного из следующих типов: int32, int64. Ось в params для извлечения indices из params. Должно быть больше или равно batch_dims. По умолчанию первая не-пакетная ось. Поддерживает отрицательные индексы. |
batch_dims | Целое число integer. Количество пакетных осей. Должно быть меньше или равно rank(indices). |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Тензор Tensor. Имеет тот же тип, что и params. |
© 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/gather