Ошибка: Тип ввода (факел.Поплавковый) и тип веса (факел.cuda.FloatTensor) должен быть таким же

0

Вопрос

Я пытаюсь обучить модель DNN с помощью pytorch, и я хочу использовать графический процессор для обучения своей модели. Я могу успешно скопировать свою модель на графический процессор, используя model.to(device), где device = cuda:0.

Однако стандартные методы копирования входных данных на графический процессор (ошибка выполнения: Тип ввода (факел.Поплавковый) и тип веса (факел.cuda.FloatTensor) должен быть таким же), то есть, X.to(device) и X.cuda() не дает мне желаемого результата. Ниже приведен метод, который я в настоящее время внедряю:

def train_loop(self, dataloader, device):
    size = len(dataloader.dataset)
    for batch, (X, y) in enumerate(dataloader):
        # Compute prediction and loss
        print(device)
        X.to(device)
        print(X.is_cuda)
        y.to(device)
        
        pred = self.model(X)
        loss = self.loss_fn(pred, y)

При печати значения устройства print(device) это показывает, как: cuda:0. Но когда я бегу print(X.is_cuda) он возвращается false. (Скриншот прилагается ниже).

Error Message

Пожалуйста, дайте мне знать, где я ошибаюсь. Спасибо!

1

Лучший ответ

0

X.to(device) ничего не делает. измените его на:

x=x.to(device)

Конечно, это должно быть сделано с любым параметром\переменной, который вы хотите использовать на графическом процессоре

2021-11-20 16:11:49

О, хорошо. Спасибо! Это решило проблему
Vatsala Prasad

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................