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. Эта функция определена с использованием деления с округлением результата вниз.- Параметры:
- Именованные аргументы:
-
out (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])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.fmod.html