Spec-Zone.ru › TensorFlow 1.15

tf.compat.v2.sparse.concat

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

tf.compat.v2.sparse.concat(
    axis, sp_inputs, expand_nonconcat_dims=False, name=None
)
Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТАРЕЛИ: (concat_dim). Они будут удалены в будущей версии. Инструкции по обновлению: concat_dim устарел, используйте axis вместо него

Склеивание выполняется относительно плотных версий каждого входного значения sparse. Предполагается, что каждый вход является 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/r1.15/api_docs/python/tf/compat/v2/sparse/concat

Spec-Zone.ru

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