Как вернуться обратно к процессору из gpu в pytorch? - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть текстовый классификатор в pytorch, и я хочу использовать графические процессоры для увеличения скорости работы.Я использовал эту часть кода, чтобы проверить CUDA и использовать его:

if torch.cuda.device_count() > 1:
    print("Let's use", torch.cuda.device_count(), "GPUs!")
    my_rnn_model = nn.DataParallel(my_rnn_model)
if torch.cuda.is_available():
    my_rnn_model.cuda()

Теперь я хочу вернуться назад, чтобы использовать процессор (вместо gpu).Поэтому я очистил эту часть кода.Но это не работает, и я получаю эту ошибку:

RuntimeError: cuda runtime error (8) : invalid device function at /opt/conda/conda-bld/pytorch_1503963423183/work/torch/lib/THC/THCTensorCopy.cu:204

Подскажите, пожалуйста, как мне вернуться к работе процессора?

Ответы [ 3 ]

0 голосов
/ 02 февраля 2019

Существует метод .cpu(), эквивалентный .cuda(), который также доступен в более ранних версиях.

0 голосов
/ 03 февраля 2019

Казалось бы, ваш GT 425M обладает вычислительной способностью 2.1, которая не соответствует требуемой версии PyTorch (по крайней мере 3.0) в соответствии с @soumith в этом потоке .

Ergo, вы не можете получить доступ к некоторым функциям, связанным с GPU.

Вы можете проверить вычислительные возможности здесь

Дополнительная информация здесь

0 голосов
/ 02 февраля 2019

Вы можете установить устройство GPU, которое хотите использовать, используя:

device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')

И в вашем случае вы можете просто вернуться к ЦП, используя:

torch.device('cpu')
...