Shortcuts

torch.fmod

torch.fmod(input, other, *, out=None) 张量

逐元素应用 C++ 的 std::fmod。 结果与被除数 input 具有相同的符号,并且其绝对值 小于 other 的绝对值。

此函数可以定义为 torch.div() 的形式

torch.fmod(a, b) == a - a.div(b, rounding_mode="trunc") * b

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

注意

当除数为零时,对于浮点数数据类型,无论是在CPU还是GPU上,都返回NaN;对于整数除以零的情况,在CPU上会引发RuntimeError;在GPU上,整数除以零可能会返回任意值。

注意

不支持复数输入。在某些情况下,使用复数无法满足取模运算的数学定义。

另请参阅

torch.remainder() 实现了Python的模数运算符。 这个函数是通过向下取整除法的结果来定义的。

Parameters
  • 输入 (张量) – 被除数

  • 其他 (Tensor标量) – 除数

Keyword Arguments

输出 (张量, 可选) – 输出张量。

示例:

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