Функция frac
Функция frac возвращает дробную часть для каждого элемента входного тензора.
Результатом является тензор той же формы, что и исходный, где каждый элемент
содержит дробную часть соответствующего элемента входного тензора.
Дробная часть определяется как x - floor(abs(x)) * sign(x), то есть
она всегда находится в диапазоне от -1 до 1, исключая 1.
Функция работает как для целых, так и для вещественных чисел.
Для целых чисел дробная часть всегда равна нулю.
Синтаксис
torch.frac(input)
Пример
Давайте получим дробную часть для тензора с положительными числами:
import torch
t = torch.tensor([1.7, 2.3, 3.0, 4.9])
res = torch.frac(t)
print(res)
Результат выполнения кода:
tensor([0.7000, 0.3000, 0.0000, 0.9000])
Пример
Теперь рассмотрим работу с отрицательными числами:
import torch
t = torch.tensor([-1.7, -2.3, -3.0, -4.9])
res = torch.frac(t)
print(res)
Результат выполнения кода:
tensor([-0.7000, -0.3000, -0.0000, -0.9000])
Пример
Функция также работает с двумерными тензорами:
import torch
t = torch.tensor([
[1.5, 2.8, -3.2],
[-4.7, 5.1, -6.9]
])
res = torch.frac(t)
print(res)
Результат выполнения кода:
tensor([
[ 0.5000, 0.8000, -0.2000],
[-0.7000, 0.1000, -0.9000]
])
Пример
Для целых чисел дробная часть всегда равна нулю:
import torch
t = torch.tensor([5, -3, 0, 8])
res = torch.frac(t)
print(res)
Результат выполнения кода:
tensor([0, 0, 0, 0])