torch.fmod
-
torch.fmod(input, other, *, out=None) → Tensor -
Применяет C++’s std::fmod поэлементно. Результат имеет тот же знак, что и делимое
input, а его абсолютное значение меньше, чем абсолютное значениеother.Эта функция может быть определена через
torch.div()какtorch.fmod(a, b) == a - a.div(b, rounding_mode="trunc") * b
Поддерживает векторное вычисление с общим размером, преобразование типов и целочисленные и вещественные входные данные.
Примечание
Если делитель равен нулю, возвращает
NaNдля вещественных типов данных как на CPU, так и на GPU; вызываетRuntimeErrorдля целочисленного деления на ноль на CPU; целочисленное деление на ноль на GPU может вернуть любое значение.Примечание
Комплексные входные данные не поддерживаются. В некоторых случаях математически невозможно удовлетворить определению операции modulo с комплексными числами.
См. также
torch.remainder(), которая реализует оператор модуля Python. Она определена с помощью округления результата вниз.- Parameters
- Keyword Arguments
-
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])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.fmod.html