Hata: Giriş tipi (meşale.FloatTensor) ve ağırlık tipi (meşale.cuda.FloatTensor) aynı olmalıdır

0

Soru

Pytorch kullanarak bir DNN modelini eğitmeye çalışıyorum ve modelimi eğitmek için GPU kullanmak istiyorum. Modelimi kullanarak GPU'ya başarıyla kopyalayabilirim model.to(device), nere device = cuda:0.

Ancak, girişi GPU'ya kopyalamak için kullanılan standart yöntemler, (RuntimeError: Giriş türü (meşale.FloatTensor) ve ağırlık tipi (meşale.cuda.FloatTensor) aynı olmalıdır), yani, X.to(device) ve X.cuda() bana istenen çıktıyı vermiyor. Şu anda uyguladığım yöntem aşağıdadır:

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)

Aygıt değerini yazdırırken print(device) olarak gösterir: cuda:0. Ama kaçtığımda print(X.is_cuda) geri dönüyor false. (Ekran görüntüsü aşağıda eklenmiştir).

Error Message

Lütfen nereye yanlış gittiğimi bana bildirin. Teşekkürler!

1

En iyi cevabı

0

X.to(device) hiçbir şey yapmaz. olarak değiştirin:

x=x.to(device)

Tabii ki bu, gpu'da istediğiniz herhangi bir parametre \ değişkenine yapılmalıdır

2021-11-20 16:11:49

Oh, tamam. Teşekkürler! Bu sorunu çözdü
Vatsala Prasad

Diğer dillerde

Bu sayfa diğer dillerde

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