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