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


Python tf.sparse.split用法及代碼示例


沿 axisSparseTensor 拆分為 num_split 張量。

用法

tf.sparse.split(
    sp_input=None, num_split=None, axis=None, name=None
)

參數

  • sp_input 要拆分的SparseTensor
  • num_split 一個 Python 整數。拆分方式的數量。
  • axis 一個 0-D int32 Tensor 。要拆分的維度。必須在 [-rank, rank) 範圍內,其中 rank 是輸入 SparseTensor 中的維數。
  • name 操作的名稱(可選)。

返回

  • num_split SparseTensor 由拆分產生的對象 value

拋出

  • TypeError 如果 sp_input 不是 SparseTensor

如果 sp_input.dense_shape[axis] 不是 num_split 的整數倍,則每個切片從 0 開始:shape[axis] % num_split 獲得額外的一維。例如:

indices = [[0, 2], [0, 4], [0, 5], [1, 0], [1, 1]]
values = [1, 2, 3, 4, 5]
t = tf.SparseTensor(indices=indices, values=values, dense_shape=[2, 7])
tf.sparse.to_dense(t)
<tf.Tensor:shape=(2, 7), dtype=int32, numpy=
array([[0, 0, 1, 0, 2, 3, 0],
       [4, 5, 0, 0, 0, 0, 0]], dtype=int32)>
output = tf.sparse.split(sp_input=t, num_split=2, axis=1)
tf.sparse.to_dense(output[0])
<tf.Tensor:shape=(2, 4), dtype=int32, numpy=
array([[0, 0, 1, 0],
       [4, 5, 0, 0]], dtype=int32)>
tf.sparse.to_dense(output[1])
<tf.Tensor:shape=(2, 3), dtype=int32, numpy=
array([[2, 3, 0],
       [0, 0, 0]], dtype=int32)>
output = tf.sparse.split(sp_input=t, num_split=2, axis=0)
tf.sparse.to_dense(output[0])
<tf.Tensor:shape=(1, 7), dtype=int32, numpy=array([[0, 0, 1, 0, 2, 3, 0]],
dtype=int32)>
tf.sparse.to_dense(output[1])
<tf.Tensor:shape=(1, 7), dtype=int32, numpy=array([[4, 5, 0, 0, 0, 0, 0]],
dtype=int32)>
output = tf.sparse.split(sp_input=t, num_split=2, axis=-1)
tf.sparse.to_dense(output[0])
<tf.Tensor:shape=(2, 4), dtype=int32, numpy=
array([[0, 0, 1, 0],
       [4, 5, 0, 0]], dtype=int32)>
tf.sparse.to_dense(output[1])
<tf.Tensor:shape=(2, 3), dtype=int32, numpy=
array([[2, 3, 0],
       [0, 0, 0]], dtype=int32)>

相關用法


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