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