Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.sparse_concat

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

Просмотр псевдонимов

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

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

tf.compat.v1.sparse.concat

tf.compat.v1.sparse_concat(
    axis, sp_inputs, name=None, expand_nonconcat_dim=False, concat_dim=None,
    expand_nonconcat_dims=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

© 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/sparse_concat

Spec-Zone.ru

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