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


Python tf.raw_ops.SparseConcat用法及代碼示例


沿指定維度連接 SparseTensor 列表。

用法

tf.raw_ops.SparseConcat(
    indices, values, shapes, concat_dim, name=None
)

參數

  • indices 至少 2 個類型為 int64Tensor 對象的列表。二維。每個輸入的索引 SparseTensor
  • values 與具有相同類型的Tensor 對象的indices 長度相同的列表。一維。每個 SparseTensor 的非空值。
  • shapes 與類型為 int64Tensor 對象的 indices 長度相同的列表。一維。每個 SparseTensor 的形狀。
  • concat_dim 一個 int 。要連接的維度。必須在 [-rank, rank) 範圍內,其中 rank 是每個輸入 SparseTensor 中的維數。
  • name 操作的名稱(可選)。

返回

  • Tensor 對象的元組(output_indices、output_values、output_shape)。
  • output_indices Tensor 類型為 int64
  • output_values 一個Tensor。具有與 values 相同的類型。
  • output_shape Tensor 類型為 int64

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

除連接維度外,所有輸入的形狀都必須匹配。 indices , valuesshapes 列表必須具有相同的長度。

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

輸出元素將被用來保持隨著維度數增加的排序順序。

此操作在 O(M log M) 時間運行,其中 M 是所有輸入中非空值的總數。這是由於需要內部排序以便在任意維度上有效連接。

例如,如果 concat_dim = 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          ]

相關用法


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