РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
163 of 769 menu

Функция remainder

Функция remainder вычисляет остаток от деления для каждого элемента тензора. Первым параметром передаётся делимое (тензор), вторым - делитель (скаляр или тензор). Функция поддерживает вещание (broadcasting), что позволяет работать с тензорами разных размеров. Знак результата всегда совпадает со знаком делителя, а абсолютное значение результата всегда меньше абсолютного значения делителя. Это делает remainder удобной для операций, где важен положительный остаток, например, при работе с периодическими функциями или индексами.

Синтаксис

torch.remainder(input, other, *, out=None)

Где:

  • input - тензор-делимое;
  • other - делитель (число или тензор);
  • out (опционально) - выходной тензор.

Возвращает новый тензор с остатками от деления.

Пример

Вычислим остаток от деления элементов тензора на скаляр 3:

import torch t = torch.tensor([7, 8, 9, 10, 11]) res = torch.remainder(t, 3) print(res)

Результат выполнения кода:

tensor([1, 2, 0, 1, 2])

Как видно, остатки соответствуют делению каждого числа на 3.

Пример

Используем отрицательный делитель. Остаток будет отрицательным, так как знак результата следует за делителем:

import torch t = torch.tensor([5, 6, 7, 8]) res = torch.remainder(t, -3) print(res)

Результат выполнения кода:

tensor([-1, 0, -2, -1])

Обратите внимание, что результат отрицательный и по модулю меньше 3.

Пример

Вычислим остаток от деления двух тензоров поэлементно:

import torch t1 = torch.tensor([10, 20, 30, 40, 50]) t2 = torch.tensor([3, 4, 7, 9, 11]) res = torch.remainder(t1, t2) print(res)

Результат выполнения кода:

tensor([1, 0, 2, 4, 6])

Каждый элемент первого тензора делится на соответствующий элемент второго.

Пример

Используем вещание (broadcasting) для деления матрицы на скаляр:

import torch t = torch.tensor([ [12, 15, 18], [21, 24, 27], ]) res = torch.remainder(t, 5) print(res)

Результат выполнения кода:

tensor([ [2, 0, 3], [1, 4, 2], ])

Скаляр 5 применяется ко всем элементам матрицы.

Смотрите также

  • функцию fmod,
    которая вычисляет остаток, знак которого совпадает со знаком делимого
  • функцию div,
    которая выполняет деление тензоров
  • функцию floor_divide,
    которая выполняет деление с округлением вниз
  • функцию true_divide,
    которая выполняет точное деление с плавающей точкой
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить