快捷方式

torch.fmod

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

逐元素应用 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 的模运算符。此函数定义为使用向下取整除法。

参数
  • input (Tensor) – 被除数

  • other (Tensor or Scalar) – 除数

关键字参数

out (Tensor, optional) – 输出 Tensor。

示例

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

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源