Spec-Zone.ru › TensorFlow

tf.sparse.concat

Конкатенирует список SparseTensor по указанной размерности. (устаревшие аргументы)

tf.sparse.concat(
    axis, sp_inputs, expand_nonconcat_dims=False, name=None
)

Используется в ноутбуках

Используется в руководстве
  • Разреженные тензоры
  • Работа с разреженными тензорами
Устарело: НЕКОТОРЫЕ АРГУМЕНТЫ УСТАРЕЛИ: (concat_dim). Они будут удалены в будущей версии. Инструкции по обновлению: concat_dim устарел, используйте axis вместо него

Конкатенация выполняется относительно плотных версий каждого разреженного входного значения. Предполагается, что каждый входной параметр представляет собой SparseTensor, элементы которого упорядочены по возрастанию номера измерения.

Если expand_nonconcat_dim равен False, все формы входов должны совпадать, за исключением размерности конкатенации. Если expand_nonconcat_dim равен True, формы входов могут отличаться для всех входов.

Список indices, values и shapes должны иметь одинаковую длину.

Если expand_nonconcat_dim равен False, форма вывода идентична формам входов, за исключением размерности конкатенации, где она равна сумме размеров входов по этой размерности.

Если expand_nonconcat_dim равен True, форма вывода по размерностям, не участвующим в конкатенации, будет расширена до наибольшей среди всех входов, а значение по размерности конкатенации будет равно сумме размеров входов по этой размерности.

Элементы вывода будут отсортированы для сохранения порядка сортировки по возрастанию номера измерения.

Эта операция выполняется за время O(M log M), где M — общее количество ненулевых значений во всех входах. Это связано с необходимостью внутренней сортировки для эффективной конкатенации по произвольной размерности.

Например, если axis = 1 и входные данные:

sp_inputs[0]: shape = [2, 3]
[0, 2]: "a"
[1, 0]: "b"
[1, 1]: "c"

sp_inputs[1]: shape = [2, 4]
[0, 1]: "d"
[0, 2]: "e"

то выход будет:

shape = [2, 7]
[0, 2]: "a"
[0, 4]: "d"
[0, 5]: "e"
[1, 0]: "b"
[1, 1]: "c"

Графически это эквивалентно выполнению

[    a] concat [  d e  ] = [    a   d e  ]
[b c  ]        [       ]   [b c          ]

Еще один пример, если 'axis = 1' и входные данные:

sp_inputs[0]: shape = [3, 3]
[0, 2]: "a"
[1, 0]: "b"
[2, 1]: "c"

sp_inputs[1]: shape = [2, 4]
[0, 1]: "d"
[0, 2]: "e"

если expand_nonconcat_dim = False, это приведет к ошибке. Но если expand_nonconcat_dim = True, это приведет к:

shape = [3, 7]
[0, 2]: "a"
[0, 4]: "d"
[0, 5]: "e"
[1, 0]: "b"
[2, 1]: "c"

Графически это эквивалентно выполнению

[    a] concat [  d e  ] = [    a   d e  ]
[b    ]        [       ]   [b            ]
[  c  ]                    [  c          ]
Аргументы
axis Размерность для конкатенации. Должна быть в диапазоне [-ранг, ранг), где ранг — это число измерений в каждом входном SparseTensor.
sp_inputs Список SparseTensor для конкатенации.
name Префикс имени для возвращаемых тензоров (необязательно).
expand_nonconcat_dim Разрешить ли расширение по размерностям, не участвующим в конкатенации. По умолчанию False.
concat_dim Старое (устаревшее) имя для axis.
expand_nonconcat_dims псевдоним для expand_nonconcat_dim
Возвращает
SparseTensor с объединённым результатом.
Исключения
TypeError Если sp_inputs не является списком SparseTensor.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/sparse/concat

Spec-Zone.ru

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