GatherNd

публичный финальный класс GatherNd

Соберите фрагменты из «параметров» в тензор с формой, заданной «индексами».

`indexes` — это K-мерный целочисленный тензор, который лучше всего рассматривать как (K-1)-мерный тензор индексов в `params`, где каждый элемент определяет срез `params`:

вывод [\\(i_0, ..., i_{K-2}\\)] = параметры [индексы [\\(i_0, ..., i_{K-2}\\)]]

В то время как в tf.gather `indices` определяет срезы в измерении `axis` `params`, в tf.gather_nd `indices` определяет срезы в первых `N` измерениях `params`, где `N = index.shape [-1]`.

Последнее измерение «индексов» может быть не более рангом «параметров»:

index.shape[-1] <= params.rank

Последнее измерение `indices` соответствует элементам (если `indices.shape[-1] == params.rank`) или срезам (если `indices.shape[-1] < params.rank`) вдоль измерения `indices`. shape[-1]` из `params`. Выходной тензор имеет форму

indexes.shape[:-1] + params.shape[indices.shape[-1]:]

Обратите внимание, что на процессоре, если обнаруживается выходной индекс, возвращается ошибка. На графическом процессоре, если обнаруживается выходной индекс, в соответствующем выходном значении сохраняется 0.

Некоторые примеры ниже.

Простая индексация в матрицу:

indices = [[0, 0], [1, 1]]
     params = [['a', 'b'], ['c', 'd']]
     output = ['a', 'd']
 
Индексация среза в матрицу:
indices = [[1], [0]]
     params = [['a', 'b'], ['c', 'd']]
     output = [['c', 'd'], ['a', 'b']]
 
Индексация в 3-тензор:
indices = [[1]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [[['a1', 'b1'], ['c1', 'd1']]]
 
 
     indices = [[0, 1], [1, 0]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [['c0', 'd0'], ['a1', 'b1']]
 
 
     indices = [[0, 0, 1], [1, 0, 1]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = ['b0', 'b1']
 
Пакетная индексация в матрицу:
indices = [[[0, 0]], [[0, 1]]]
     params = [['a', 'b'], ['c', 'd']]
     output = [['a'], ['b']]
 
Пакетная индексация среза в матрицу:
indices = [[[1]], [[0]]]
     params = [['a', 'b'], ['c', 'd']]
     output = [[['c', 'd']], [['a', 'b']]]
 
Пакетная индексация в матрицу: l10n-placeholder3 3-тензор:
indices = [[[1]], [[0]]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [[[['a1', 'b1'], ['c1', 'd1']]],
               [[['a0', 'b0'], ['c0', 'd0']]]]
 
     indices = [[[0, 1], [1, 0]], [[0, 0], [1, 1]]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [[['c0', 'd0'], ['a1', 'b1']],
               [['a0', 'b0'], ['c1', 'd1']]]
 
 
     indices = [[[0, 0, 1], [1, 0, 1]], [[0, 1, 1], [1, 1, 0]]]
     params = [[['a0', 'b0'], ['c0', 'd0']],
               [['a1', 'b1'], ['c1', 'd1']]]
     output = [['b0', 'b1'], ['d0', 'c1']]
 
См. также tf.gather и `tf.batch_gather`.

Публичные методы

Выход <Т>
какВывод ()
Возвращает символический дескриптор тензора.
static <T, U расширяет число> GatherNd <T>
create (область действия , параметры операнда <T>, индексы операнда <U>)
Фабричный метод для создания класса, обертывающего новую операцию GatherNd.
Выход <Т>
выход ()
Значения из `params`, собранные из индексов, заданных `indices`, с формой `indices.shape[:-1] + params.shape[indices.shape[-1]:]`.

Унаследованные методы

Публичные методы

публичный вывод <T> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

public static GatherNd <T> create (область действия , параметры операнда <T>, индексы операнда <U>)

Фабричный метод для создания класса, обертывающего новую операцию GatherNd.

Параметры
объем текущий объем
параметры Тензор, из которого собираются значения.
индексы Индексный тензор.
Возврат
  • новый экземпляр GatherNd

публичный вывод <T> вывод ()

Значения из `params`, собранные из индексов, заданных `indices`, с формой `indices.shape[:-1] + params.shape[indices.shape[-1]:]`.