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


Python tf.sparse.reduce_sum用法及代码示例


跨 SparseTensor 的维度计算元素的 tf.sparse.add

用法

tf.sparse.reduce_sum(
    sp_input, axis=None, keepdims=None, output_is_sparse=False, name=None
)

参数

  • sp_input 要减少的 SparseTensor。应该是数字类型。
  • axis 要减小的尺寸;列表或标量。如果None(默认),减少所有维度。
  • keepdims 如果为真,则保留长度为 1 的缩减维度。
  • output_is_sparse 如果为真,则返回 SparseTensor 而不是密集的 Tensor(默认值)。
  • name 操作的名称(可选)。

返回

  • 如果 output_is_sparse 为 True,则减少的张量或减少的 SparseTensor。

这是按元素tf.sparse.add op 的归约操作。

此 Op 采用 SparseTensor 并且是 tf.reduce_sum() 的稀疏对应项。特别是,如果 output_is_sparseFalse ,则此 Op 还返回密集的 Tensor ,如果 output_is_sparseTrue ,则返回 SparseTensor

注意:如果output_is_sparse 为True,则该函数没有定义梯度,因此不能用于需要梯度下降的训练模型。

沿 axis 中给定的尺寸减少 sp_input 。除非 keepdims 为真,否则对于 axis 中的每个条目,张量的秩都会减少 1。如果 keepdims 为真,则保留缩减后的维度,长度为 1。

如果axis 没有条目,则减少所有维度,并返回具有单个元素的张量。此外,轴可以是负数,类似于 Python 中的索引规则。

例如:

'x' 代表 [[1, ?, 1]

[?, 1, ?]]

在哪里 ?是implicitly-zero。

x = tf.sparse.SparseTensor([[0, 0], [0, 2], [1, 1]], [1, 1, 1], [2, 3])
tf.sparse.reduce_sum(x)
<tf.Tensor:shape=(), dtype=int32, numpy=3>
tf.sparse.reduce_sum(x, 0)
<tf.Tensor:shape=(3,), dtype=int32, numpy=array([1, 1, 1], dtype=int32)>
tf.sparse.reduce_sum(x, 1)  # Can also use -1 as the axis
<tf.Tensor:shape=(2,), dtype=int32, numpy=array([2, 1], dtype=int32)>
tf.sparse.reduce_sum(x, 1, keepdims=True)
<tf.Tensor:shape=(2, 1), dtype=int32, numpy=
array([[2],
       [1]], dtype=int32)>
tf.sparse.reduce_sum(x, [0, 1])
<tf.Tensor:shape=(), dtype=int32, numpy=3>

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.sparse.reduce_sum。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。