Błąd: Typ wejścia (latarka.Pływakowy) i typ wagi (latarka.cuda.FloatTensor) musi być taki sam

0

Pytanie

Staram się trenować model DNN z pomocą pytorch, i chcę wykorzystać gpu do uczenia modelu. Mogę z powodzeniem skopiować swój model na procesor graficzny, za pomocą model.to(device)gdzie device = cuda:0.

Jednak standardowe metody kopiowania danych wejściowych na procesor graficzny (błąd wykonania: Typ wejścia (latarka.Pływakowy) i typ wagi (latarka.cuda.FloatTensor) musi być taki sam), czyli X.to(device) i X.cuda() nie daje mi pożądanego rezultatu. Poniżej znajduje się metoda, która obecnie внедряю:

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)

Podczas drukowania wartości urządzenia print(device) to pokazuje, jak: cuda:0. Ale kiedy biegnę print(X.is_cuda) wraca false. (Zrzut ekranu w załączeniu poniżej).

Error Message

Proszę dać mi znać, gdzie się mylę. Dziękuję!

1

Najlepsza odpowiedź

0

X.to(device) nic się nie robi. zmień go na:

x=x.to(device)

Oczywiście, to musi być zrobione z dowolnym parametrem\zmiennej, który chcesz wykorzystać na procesorze graficznym

2021-11-20 16:11:49

O, dobrze. Dziękuję! To rozwiązało problem
Vatsala Prasad

W innych językach

Ta strona jest w innych językach

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