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(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 ])