RuntimeError: ожидаемый объект типа устройства cuda, но получил процессор типа устройства для аргумента # 1 'self' при вызове _th_index_select - PullRequest
0 голосов
/ 18 июня 2020

Может ли кто-нибудь помочь мне отследить root следующей ошибки? Я не понимаю, где происходит переключение между GPU и CPU, поскольку с самого начала я дал указание коллаборации использовать GPU.
Также, следуя трассировке стека ошибок, он указывает на метки, что может быть здесь потенциально не так?

Заранее спасибо!

Expected Cuda Type Error

1 Ответ

0 голосов
/ 18 июня 2020

Я бы порекомендовал взглянуть на эту серию youtube , чтобы понять, как работает pytorch.

конкретно по вашей проблеме, я думаю, вы найдете свой ответ в этом видео

Идея состоит в том, что вам нужно указать, что вы хотите разместить свои данные и модель на вашем GPU. Используя метод .to(device), устройство является либо cuda, если ваш графический процессор доступен, либо ваш процессор, и вам нужно сделать то же самое для ваших данных.

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

Вам также нужно сделать это своими данными, я предполагаю, что у вас есть for l oop для итерации по вашей партии, чтобы вы могли сделать это так:

    for batch in train_loader:
        ***
        x, y = batch[0].to(device), batch[1].to(device)
        ***
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...