Spec-Zone.ru › TensorFlow 2.3

tf.compat.v1.gather

Извлечение срезов из массива params по оси axis в соответствии с индексами.

tf.compat.v1.gather(
    params, indices, validate_indices=None, name=None, axis=None, batch_dims=0
)

Извлечение срезов из массива params по оси axis в соответствии с индексами indices. indices должен быть целочисленным тензором любой размерности (обычно 0-й или 1-й).

Для 0-мерного (скалярного) indices:

$$\begin{align*} output[p_0, ..., p_{axis-1}, && &&& p_{axis + 1}, ..., p_{N-1}] = \\ params[p_0, ..., p_{axis-1}, && indices, &&& p_{axis + 1}, ..., p_{N-1}] \end{align*}$$

Где N = ndims(params).

Для 1-мерного (векторного) indices с batch_dims=0:

$$\begin{align*} output[p_0, ..., p_{axis-1}, && & i, && p_{axis + 1}, ..., p_{N-1}] =\\ params[p_0, ..., p_{axis-1}, && indices[& i], && p_{axis + 1}, ..., p_{N-1}] \end{align*}$$

В общем случае, создаётся тензор вывода, где:

$$\begin{align*} output[p_0, &..., p_{axis-1}, & & i_{B}, ..., i_{M-1}, & p_{axis + 1}, &..., p_{N-1}] = \\ params[p_0, &..., p_{axis-1}, & indices[p_0, ..., p_{B-1}, & i_{B}, ..., i_{M-1}], & p_{axis + 1}, &..., p_{N-1}] \end{align*}$$

Где 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:].

Обратите внимание, что на процессоре CPU, если обнаружен индекс за пределами границ, возвращается ошибка. На GPU, если обнаружен индекс за пределами границ, в соответствующем значении вывода хранится 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 Число осей пакетной обработки. Должно быть меньше или равно 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/compat/v1/gather

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API