Spec-Zone.ru › TensorFlow 1.15

tf.gather

Просмотреть исходный код на GitHub

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

Псевдонимы

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.gather

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

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

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

output

$$[p_0, ..., p_{axis-1}, \hspace{5.1em} > p_{axis + 1}, ..., p_{N-1}]$$

=\

params

$$[p_0, ..., p_{axis-1}, \hspace{1em} > indices, \hspace{1em} > p_{axis + 1}, ..., p_{N-1}]$$

.

Для 1-мерного (векторного) индекса с indices:

output

$$[p_0, ..., p_{axis-1}, \hspace{2.6em} > i, \hspace{2.6em} > p_{axis + 1}, ..., p_{N-1}]$$

=\

params

$$[p_0, ..., p_{axis-1}, \hspace{1em} > indices[i], \hspace{1em} > p_{axis + 1}, ..., p_{N-1}]$$

.

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

$$\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 Индексы для извлечения. Должен быть одного из следующих типов: int32, int64. Должен находиться в диапазоне [0, params.shape[axis]).
validate_indices Устарело, не выполняет никаких действий.
axis Ось для извлечения. Должен быть одного из следующих типов: int32, int64. Ось в массиве params, с которой извлекаются значения. Должна быть больше или равна batch_dims. По умолчанию — первая размерность, не являющаяся размерностью батча. Поддерживает отрицательные индексы.
batch_dims Число размерностей батча. Должно быть меньше rank(indices).
name Имя операции (необязательно).
Возвращаемое значение
Тензор. Имеет тот же тип, что и 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/r1.15/api_docs/python/tf/gather

Spec-Zone.ru

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