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

Функция true_divide

Функция true_divide выполняет поэлементное деление тензоров. Первым параметром она принимает делимое, вторым - делитель. Возвращает новый тензор с результатом деления, всегда в типе данных с плавающей запятой. Эта функция эквивалентна оператору /, но гарантирует, что результат будет представлен числом с плавающей точкой, даже если оба аргумента являются целочисленными тензорами.

Синтаксис

torch.true_divide(dividend, divisor)

Также доступна форма в виде метода тензора:

t.true_divide(divisor)

Пример

Давайте разделим два целочисленных тензора:

import torch t1 = torch.tensor([4, 5, 6]) t2 = torch.tensor([2, 2, 2]) res = torch.true_divide(t1, t2) print(res)

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

tensor([2., 2.5, 3.])

Обратите внимание, что результат имеет тип данных torch.float32, хотя исходные тензоры были целочисленными.

Пример

Разделим тензор на скаляр:

import torch t = torch.tensor([1, 2, 3, 4, 5]) res = torch.true_divide(t, 2) print(res)

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

tensor([0.5, 1., 1.5, 2., 2.5])

Пример

Использование метода тензора для деления на другой тензор:

import torch t1 = torch.tensor([[3, 6, 9], [12, 15, 18]]) t2 = torch.tensor([[1, 2, 3], [4, 5, 6]]) res = t1.true_divide(t2) print(res)

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

tensor([ [3., 3., 3.], [3., 3., 3.], ])

Как видно из примера, деление выполняется поэлементно, а результат всегда содержит дробную часть, даже если деление выполняется нацело.

Пример

Сравнение с оператором / для целочисленных тензоров:

import torch t1 = torch.tensor([5, 7, 9]) t2 = torch.tensor([2, 3, 4]) div_operator = t1 / t2 true_div = torch.true_divide(t1, t2) print("Operator /:", div_operator) print("true_divide:", true_div)

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

Operator /: tensor([2, 2, 2]) true_divide: tensor([2.5, 2.3333, 2.25])

В этом примере видно, что оператор / для целых чисел выполняет целочисленное деление (с округлением вниз), а true_divide всегда возвращает вещественный результат.

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

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