评价此页

torch.remainder#

torch.remainder(input, other, *, out=None) Tensor#

逐元素计算Python 的模运算。结果的符号与除数 other 相同,且其绝对值小于 other

它也可以用 torch.div() 来定义,如下所示:

torch.remainder(a, b) == a - a.div(b, rounding_mode="floor") * b

支持广播到共同形状类型提升,以及整数和浮点数输入。

注意

不支持复数输入。在某些情况下,用复数满足模运算的定义在数学上是不可能的。有关除以零的处理方式,请参阅 torch.fmod()

另请参阅

torch.fmod() 实现的是 C++ 的 std::fmod。而 torch.remainder 是基于向零舍入的除法定义的。

参数
  • input (TensorScalar) – 被除数

  • other (TensorScalar) – 除数

关键字参数

out (Tensor, optional) – 输出张量。

示例

>>> torch.remainder(torch.tensor([-3., -2, -1, 1, 2, 3]), 2)
tensor([ 1.,  0.,  1.,  1.,  0.,  1.])
>>> torch.remainder(torch.tensor([1, 2, 3, 4, 5]), -1.5)
tensor([ -0.5000, -1.0000,  0.0000, -0.5000, -1.0000 ])