0


深入浅出TensorFlow2函数——tf.reduce_sum

分类目录:《深入浅出TensorFlow2函数》总目录
相关文章:
· 深入浅出TensorFlow2函数——tf.reduce_sum
· 深入浅出TensorFlow2函数——tf.math.reduce_sum
· 深入浅出Pytorch函数——torch.sum
· 深入浅出PaddlePaddle函数——paddle.sum


计算张量各维度上元素的总和。

语法

  1. tf.reduce_sum(
  2. input_tensor, axis=None, keepdims=False, name=None
  3. )

参数

  • input_tensor:[Tensor] 待求和的多维Tensor
  • axis:求和运算的维度。如果为None,则计算所有元素的和并返回包含单个元素的Tensor变量,否则必须在 [ − rank ( x ) , rank ( x ) ] [-\text{rank}(x), \text{rank}(x)] [−rank(x),rank(x)]范围内。如果 axis [ i ] < 0 \text{axis}[i]<0 axis[i]<0,则维度将变为 rank + axis [ i ] \text{rank} + \text{axis}[i] rank+axis[i],默认值为None
  • keepdim:[bool] 是否在输出Tensor中保留减小的维度。如keepdim=True,否则结果张量的维度将比输入张量小,默认值为False
  • name:[可选, str] 操作的名称,默认值为None

返回值

  1. input_tensor

具有相同

  1. dtype

的求和后的

  1. tensor

实例

  1. >>> # x has a shape of(2,3)(two rows and three columns):>>> x = tf.constant([[1,1,1],[1,1,1]])>>> x.numpy()array([[1,1,1],[1,1,1]], dtype=int32)>>> # sum all the elements
  2. >>> # 1+1+1+1+1+1=6>>> tf.reduce_sum(x).numpy()6>>> # reduce along the first dimension
  3. >>> # the result is [1,1,1]+[1,1,1]=[2,2,2]>>> tf.reduce_sum(x,0).numpy()array([2,2,2], dtype=int32)>>> # reduce along the second dimension
  4. >>> # the result is [1,1]+[1,1]+[1,1]=[3,3]>>> tf.reduce_sum(x,1).numpy()array([3,3], dtype=int32)>>> # keep the original dimensions
  5. >>> tf.reduce_sum(x,1, keepdims=True).numpy()array([[3],[3]], dtype=int32)>>> # reduce along both dimensions
  6. >>> # the result is 1+1+1+1+1+1=6>>> # or, equivalently, reduce along rows, then reduce the resultant array
  7. >>> # [1,1,1]+[1,1,1]=[2,2,2]>>> # 2+2+2=6>>> tf.reduce_sum(x,[0,1]).numpy()6

函数实现

  1. @tf_export("math.reduce_sum","reduce_sum", v1=[])
  2. @dispatch.add_dispatch_support
  3. def reduce_sum(input_tensor, axis=None, keepdims=False, name=None):"""Computes the sum of elements across dimensions of a tensor.
  4. This is the reduction operation for the elementwise `tf.math.add` op.
  5. Reduces `input_tensor` along the dimensions given in `axis`.
  6. Unless `keepdims` is true, the rank of the tensor is reduced by 1for each
  7. of the entries in `axis`, which must be unique. If `keepdims` is true, the
  8. reduced dimensions are retained with length 1.
  9. If `axis` is None, all dimensions are reduced, and a
  10. tensor with a single element is returned.
  11. For example:>>> # x has a shape of(2,3)(two rows and three columns):>>> x = tf.constant([[1,1,1],[1,1,1]])>>> x.numpy()array([[1,1,1],[1,1,1]], dtype=int32)>>> # sum all the elements
  12. >>> # 1+1+1+1+1+1=6>>> tf.reduce_sum(x).numpy()6>>> # reduce along the first dimension
  13. >>> # the result is [1,1,1]+[1,1,1]=[2,2,2]>>> tf.reduce_sum(x,0).numpy()array([2,2,2], dtype=int32)>>> # reduce along the second dimension
  14. >>> # the result is [1,1]+[1,1]+[1,1]=[3,3]>>> tf.reduce_sum(x,1).numpy()array([3,3], dtype=int32)>>> # keep the original dimensions
  15. >>> tf.reduce_sum(x,1, keepdims=True).numpy()array([[3],[3]], dtype=int32)>>> # reduce along both dimensions
  16. >>> # the result is 1+1+1+1+1+1=6>>> # or, equivalently, reduce along rows, then reduce the resultant array
  17. >>> # [1,1,1]+[1,1,1]=[2,2,2]>>> # 2+2+2=6>>> tf.reduce_sum(x,[0,1]).numpy()6
  18. Args:
  19. input_tensor: The tensor to reduce. Should have numeric type.
  20. axis: The dimensions to reduce. If `None` (the default), reduces all
  21. dimensions. Must be in the range `[-rank(input_tensor),rank(input_tensor)]`.
  22. keepdims: If true, retains reduced dimensions with length 1.
  23. name: A name for the operation(optional).
  24. Returns:
  25. The reduced tensor, of the same dtype as the input_tensor.
  26. @compatibility(numpy)
  27. Equivalent to np.sum apart the fact that numpy upcast uint8 and int32 to
  28. int64 while tensorflow returns the same dtype as the input.
  29. @end_compatibility
  30. """
  31. returnreduce_sum_with_dims(input_tensor, axis, keepdims, name,_ReductionDims(input_tensor, axis))

本文转载自: https://blog.csdn.net/hy592070616/article/details/129960653
版权归原作者 von Neumann 所有, 如有侵权,请联系我们删除。

“深入浅出TensorFlow2函数——tf.reduce_sum”的评论:

还没有评论