Метод mul_
Метод mul_ выполняет поэлементное умножение тензора на скалярное значение или другой тензор. Операция выполняется непосредственно над исходным тензором, изменяя его значения. Первым параметром метод принимает скаляр или тензор, на который умножаются элементы. Метод изменяет тензор на месте и возвращает ссылку на него.
Синтаксис
t.mul_(value)
Пример
Давайте умножим все элементы тензора на скаляр 2:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
t.mul_(2)
print(t)
Результат выполнения кода:
tensor([ 2, 4, 6, 8, 10])
Пример
Теперь умножим тензор на другой тензор поэлементно:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
multiplier = torch.tensor([10, 20, 30, 40, 50])
t.mul_(multiplier)
print(t)
Результат выполнения кода:
tensor([ 10, 40, 90, 160, 250])
Пример
Метод возвращает ссылку на изменённый тензор, что позволяет использовать его в цепочках вызовов:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = t.mul_(2)
print(res is t)
print(res)
Результат выполнения кода:
True
tensor([ 2, 4, 6, 8, 10])
Пример
Работа метода с двумерными тензорами:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
t.mul_(3)
print(t)
Результат выполнения кода:
tensor([
[ 3, 6, 9],
[12, 15, 18],
])