tf.sparse.concat
Объединяет список SparseTensor вдоль указанного измерения. (устаревшие аргументы)
tf.sparse.concat(
axis, sp_inputs, expand_nonconcat_dims=False, name=None
)
Используется в блокнотах
| Используется в руководстве |
|---|
Объединение выполняется относительно плотных представлений каждого разреженного входного значения. Предполагается, что каждый вход представляет собой 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