Spec-Zone.ru › TensorFlow 2.4

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. Ось axis в params для извлечения indices. Должен быть больше или равен 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.4/api_docs/python/tf/compat/v1/gather

Spec-Zone.ru

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