Функция floor_divide
Функция floor_divide выполняет поэлементное деление двух тензоров
или тензора на скаляр и возвращает целые числа, округленные вниз
(в сторону отрицательной бесконечности). Первым параметром передаётся
делимое, вторым параметром - делитель. В результате получается тензор
с целочисленными значениями того же размера, что и входной тензор.
Синтаксис
torch.floor_divide(dividend, divisor)
Где:
dividend - тензор-делимое или скаляр;
divisor - тензор-делитель или скаляр.
Пример
Давайте выполним целочисленное деление тензора на скалярное число:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = torch.floor_divide(t, 2)
print(res)
Результат выполнения кода:
tensor([0, 1, 1, 2, 2])
Пример
Давайте разделим тензор на другой тензор попарно:
import torch
t1 = torch.tensor([10, 20, 30, 40, 50])
t2 = torch.tensor([3, 6, 9, 12, 15])
res = torch.floor_divide(t1, t2)
print(res)
Результат выполнения кода:
tensor([3, 3, 3, 3, 3])
Пример
Целочисленное деление отрицательных чисел с округлением вниз:
import torch
t = torch.tensor([-7, -6, -5, -4, -3])
res = torch.floor_divide(t, 2)
print(res)
Результат выполнения кода:
tensor([-4, -3, -3, -2, -2])
Пример
Работа функции для двумерного тензора:
import torch
t = torch.tensor([
[8, 9, 10],
[11, 12, 13],
])
res = torch.floor_divide(t, 3)
print(res)
Результат выполнения кода:
tensor([
[2, 3, 3],
[3, 4, 4],
])
Пример
Также функцию можно вызвать как метод тензора:
import torch
t = torch.tensor([15, 27, 38, 49, 50])
res = t.floor_divide(7)
print(res)
Результат выполнения кода:
tensor([2, 3, 5, 7, 7])
Смотрите также
-
функцию
div,
которая выполняет обычное поэлементное деление -
функцию
true_divide,
которая выполняет деление с плавающей точкой -
функцию
remainder,
которая вычисляет остаток от деления -
функцию
fmod,
которая вычисляет остаток от деления по модулю