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

Метод cuda

Метод cuda класса Module переносит все параметры и постоянные буферы модели на указанное устройство CUDA. Метод принимает необязательный параметр device - индекс устройства GPU, на которое будет перенесена модель. Если параметр не указан, используется устройство с индексом 0. Метод возвращает сам объект модели, что позволяет использовать цепочки вызовов.

Синтаксис

model.cuda([device])

Пример

Давайте создадим простую модель и перенесём её на GPU:

import torch import torch.nn as nn model = nn.Sequential( nn.Linear(10, 20), nn.ReLU(), nn.Linear(20, 5), ) print(model) model = model.cuda()

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

Sequential( (0): Linear(in_features=10, out_features=20, bias=True) (1): ReLU() (2): Linear(in_features=20, out_features=5, bias=True) )

Пример

Теперь передадим данные в модель и выполним прямой проход:

import torch import torch.nn as nn torch.manual_seed(0) model = nn.Linear(5, 3) model = model.cuda() x = torch.randn(2, 5).cuda() res = model(x) print(res.device)

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

cuda:0

Пример

Укажем конкретное устройство для переноса модели:

import torch import torch.nn as nn model = nn.Linear(5, 3) model = model.cuda(1) print(next(model.parameters()).device)

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

cuda:1

Пример

Метод cuda можно использовать в цепочке с другими методами, например, с to:

import torch import torch.nn as nn torch.manual_seed(0) model = nn.Linear(5, 3) model = model.cuda().to(torch.float16) x = torch.randn(2, 5).cuda() res = model(x) print(res.dtype)

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

torch.float16

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

  • класс Module,
    базовый класс для всех нейросетевых модулей
  • метод to,
    который переносит модель на указанное устройство
  • метод cpu,
    который переносит модель на центральный процессор
  • метод forward,
    который определяет прямой проход в модуле
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить