Spec-Zone.ru › TensorFlow 2.9

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.

© 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/versions/r2.9/api_docs/python/tf/compat/v1/sparse_concat

Spec-Zone.ru

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