dgl.ops.segment_reduce
- dgl.ops.segment_reduce(seglen, value, reducer='sum')[source]
分段归约操作符。
它通过段沿第一维度聚合值张量。 第一个参数
seglen
存储每个段的长度。其 总和必须等于value
张量的第一维度。 允许零长度的段。- Parameters:
seglen (Tensor) – 段长度。
value (Tensor) – 要聚合的值。
reducer (str, optional) – 聚合方法。可以是 'sum', 'max', 'min', 'mean'。
- Returns:
聚合的张量形状为
(len(seglen), value.shape[1:])
。- Return type:
张量
示例
>>> import dgl >>> import torch as th >>> val = th.ones(10, 3) >>> seg = th.tensor([1, 0, 5, 4]) # 4 segments >>> dgl.segment_reduce(seg, val) tensor([[1., 1., 1.], [0., 0., 0.], [5., 5., 5.], [4., 4., 4.]])