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(), которая реализует оператор modulo 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])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.fmod.html