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 Измерение, вдоль которого выполняется объединение. Должно находиться в диапазоне [-rank, rank), где rank — количество измерений в каждом входном 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