當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.compat.v1.sparse_concat用法及代碼示例


沿指定維度連接 SparseTensor 列表。 (不推薦使用的參數)

用法

tf.compat.v1.sparse_concat(
    axis, sp_inputs, name=None, expand_nonconcat_dim=False, concat_dim=None,
    expand_nonconcat_dims=None
)

參數

  • axis 要連接的維度。必須在 [-rank, rank) 範圍內,其中 rank 是每個輸入 SparseTensor 中的維數。
  • sp_inputs 要連接的SparseTensor 列表。
  • name 返回張量的名稱前綴(可選)。
  • expand_nonconcat_dim 是否允許在非連續維度中進行擴展。默認為假。
  • concat_dim 軸的舊(不推薦)名稱。
  • expand_nonconcat_dims expand_nonconcat_dim 的別名

返回

  • 帶有串聯輸出的SparseTensor

拋出

  • TypeError 如果 sp_inputs 不是 SparseTensor 的列表。

警告:不推薦使用某些參數:(concat_dim)。它們將在未來的版本中被刪除。更新說明:concat_dim 已棄用,請改用軸

連接是關於每個稀疏輸入的密集版本。假設每個輸入是一個SparseTensor,其元素按遞增的維數排序。

如果 expand_nonconcat_dim 為 False,則所有輸入的形狀都必須匹配,除了 concat 維度。如果 expand_nonconcat_dim 為 True,則允許輸入的形狀在所有輸入之間變化。

indices , valuesshapes 列表必須具有相同的長度。

如果 expand_nonconcat_dim 為 False,則輸出形狀與輸入形狀相同,除了沿 concat 維度,它是沿該維度的輸入大小的總和。

如果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          ]

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.sparse_concat。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。