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


Python tf.math.unsorted_segment_sum用法及代码示例


计算沿张量段的总和。

用法

tf.math.unsorted_segment_sum(
    data, segment_ids, num_segments, name=None
)

参数

  • data 一个Tensor。必须是以下类型之一:float32 , float64 , int32 , uint8 , int16 , int8 , complex64 , int64 , qint8 , quint8 , qint32 , bfloat16 , uint16 , complex128 , half , uint32 , uint64
  • segment_ids A Tensor.必须是以下类型之一:int32,int64.形状为前缀的张量data.shape.值必须小于num_segments.

    警告:这些值始终在 CPU 上验证为在范围内,从不在 GPU 上验证。

  • num_segments 一个Tensor。必须是以下类型之一:int32int64
  • name 操作的名称(可选)。

返回

  • 一个Tensor。具有与 data 相同的类型。

阅读the section on segmentation 以了解段的解释。

计算一个张量,使得 总和超过元组 j... 使得 segment_ids[j...] == i 。与 SegmentSum 不同,segment_ids 不需要排序,也不需要覆盖整个有效值范围内的所有值。

如果给定段 ID ioutput[i] = 0 的总和为空。如果给定的段 ID i 为负,则该值将被丢弃并且不会添加到段的总和中。

num_segments 应等于不同段 ID 的数量。

警告:在 CPU 上,始终验证 segment_ids 中的值小于 num_segments ,并且针对越界索引引发错误。在 GPU 上,这不会为超出范围的索引引发错误。在 Gpu 上,越界索引会导致安全但未指定的行为,其中可能包括忽略越界索引或在 num_segments 为 0 时输出存储在其形状的第一维中的 0 的张量。

c = [[1,2,3,4], [5,6,7,8], [4,3,2,1]]
tf.math.unsorted_segment_sum(c, [0, 1, 0], num_segments=2).numpy()
array([[5, 5, 5, 5],
       [5, 6, 7, 8]], dtype=int32)

相关用法


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