Как сказать PyTorch не использовать графический процессор? - PullRequest
0 голосов
/ 12 ноября 2018

Я хочу сделать некоторые временные сравнения между процессором и графическим процессором, а также некоторые профилирования и хотел бы знать, есть ли способ сказать PyTorch не использовать графический процессор и вместо этого использовать только процессор?Я понимаю, что могу установить еще один процессор только для процессора PyTorch, но надеюсь, что есть более простой способ.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Я просто хотел добавить, что это также возможно сделать в коде PyTorch:

Вот небольшой пример, взятый из PyTorch Migration Guide для 0.4.0 :

# at beginning of the script
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

...

# then whenever you get a new Tensor or Module
# this won't copy if they are already on the desired device
input = data.to(device)
model = MyModule(...).to(device)

Я думаю, что пример довольно понятен.Но если есть какие-либо вопросы, просто задавайте!
Одно большое преимущество при использовании этого синтаксиса, как в примере выше, заключается в том, что вы можете создавать код, который выполняется на ЦПУ, если нет доступного ГП, но также на ГП, без изменения одной строки.

Вместо использования оператора if с torch.cuda.is_available() вы также можете просто установить устройство на CPU , например:

device = torch.device("cpu")

Далее вы можете создавать тензорына требуемом устройстве с использованием флага device:

mytensor = torch.rand(5, 5, device=device)

Это создаст тензор непосредственно на device, который вы указали ранее.

Я хочуотметьте, что вы можете переключаться между CPU и GPU , используя этот синтаксис, а также между различными GPU .

Я надеюсь, что это полезно!

0 голосов
/ 12 ноября 2018

Вы можете просто установить переменную CUDA_VISIBLE_DEVICES на пустую через оболочку перед запуском кода вашего факела.

export CUDA_VISIBLE_DEVICES=""

должен сообщить факелу, что графических процессоров нет.

export CUDA_VISIBLE_DEVICES="0" скажет ему использовать только один графический процессор (с идентификатором 0) и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...