Метод is_cpu
Метод is_cpu класса Tensor позволяет определить,
на каком устройстве в данный момент находится тензор.
Он возвращает логическое значение True, если тензор размещен в CPU,
и False, если тензор находится на другом устройстве,
например, на GPU (CUDA) или на MPS (Apple Silicon).
Этот метод особенно полезен при отладке кода или при написании
универсальных функций, которые должны корректно работать
с тензорами на разных устройствах.
Синтаксис
tensor.is_cpu()
Метод не принимает никаких параметров и возвращает значение типа bool.
Пример
Давайте создадим тензор на CPU и проверим его расположение:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = t.is_cpu()
print(res)
Результат выполнения кода:
True
Пример
Проверим размещение тензора, созданного на GPU (если CUDA доступна):
import torch
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5]).cuda()
res = t.is_cpu()
print(res)
Результат выполнения кода (если GPU доступен):
False
Пример
Используем метод is_cpu для проверки устройства тензора
и выполнения условной логики:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
if t.is_cpu():
t = t.cuda()
print(t.is_cpu())
Результат выполнения кода (если CUDA доступна):
False
Пример
Сравним поведение метода is_cpu с методом is_cuda
для тензора, перемещенного на CPU:
import torch
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5]).cuda()
print(t.is_cpu())
print(t.is_cuda())
t = t.cpu()
print(t.is_cpu())
print(t.is_cuda())
Результат выполнения кода:
False
True
True
False