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

Метод cpu

Метод cpu класса Module перемещает все параметры и буферы модели на центральный процессор (CPU). Метод вызывается непосредственно на экземпляре модуля и изменяет его состояние, возвращая сам модуль для удобства цепочечных вызовов. Это полезно при переключении между устройствами, например, после обучения на GPU для выполнения инференса на CPU или для сохранения модели.

Синтаксис

module.cpu()

Метод не принимает никаких параметров и возвращает сам модуль с перемещёнными на CPU параметрами.

Пример

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

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

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

cpu

Пример

Рассмотрим пример перемещения модели с GPU на CPU. Для этого сначала создадим тензор и модель на GPU, а затем применим метод cpu:

import torch import torch.nn as nn torch.manual_seed(0) model = nn.Linear(5, 3) model = model.cuda() print("Device after cuda:", next(model.parameters()).device) model = model.cpu() print("Device after cpu:", next(model.parameters()).device)

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

Device after cuda: cuda:0 Device after cpu: cpu

Пример

Метод cpu также перемещает буферы модели, например, тензоры, зарегистрированные через register_buffer:

import torch import torch.nn as nn class MyModule(nn.Module): def __init__(self): super().__init__() self.linear = nn.Linear(2, 2) self.register_buffer('buffer', torch.ones(2, 2)) model = MyModule() model = model.cuda() print("Buffer device:", model.buffer.device) model = model.cpu() print("Buffer device after cpu:", model.buffer.device)

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

Buffer device: cuda:0 Buffer device after cpu: cpu

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

  • метод to,
    который перемещает модуль на указанное устройство или меняет тип данных
  • метод cuda,
    который перемещает модуль на графический процессор (GPU)
  • метод mps,
    который перемещает модуль на процессор Apple Metal (MPS)
  • метод state_dict,
    который возвращает словарь с параметрами модуля для сохранения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить