当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。