Метод mps
Метод mps перемещает тензор на устройство MPS (Metal Performance Shaders).
Это позволяет выполнять вычисления с использованием графического процессора (GPU)
на компьютерах с процессорами Apple Silicon (M1, M2, M3 и новее).
Метод возвращает новый тензор, расположенный на устройстве MPS.
Если тензор уже находится на устройстве MPS, метод вернет его же без копирования.
Синтаксис
tensor.mps()
Пример
Давайте создадим тензор на CPU и переместим его на устройство MPS:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
print(t.device)
t_mps = t.mps()
print(t_mps.device)
Результат выполнения кода:
cpu
mps:0
Пример
Выполним простые арифметические операции на устройстве MPS:
import torch
t1 = torch.tensor([1, 2, 3]).mps()
t2 = torch.tensor([4, 5, 6]).mps()
res = t1 + t2
print(res)
print(res.device)
Результат выполнения кода:
tensor([5, 7, 9], device='mps:0')
mps:0
Пример
Метод mps можно использовать для создания тензора непосредственно на устройстве MPS
с помощью метода to или при создании тензора:
import torch
t = torch.tensor([1, 2, 3, 4, 5], device='mps')
print(t.device)
t2 = torch.zeros(3, 3).to('mps')
print(t2.device)
t3 = torch.ones(2, 2).mps()
print(t3.device)
Результат выполнения кода:
mps:0
mps:0
mps:0
Пример
Метод mps позволяет переместить тензор обратно на CPU с помощью метода cpu:
import torch
t = torch.tensor([1, 2, 3, 4, 5]).mps()
print(t.device)
t_cpu = t.cpu()
print(t_cpu.device)
Результат выполнения кода:
mps:0
cpu