Snažím sa trénovať DNN modelu pomocou pytorch, a chcem, pomocou GPU trénovať svoj model. Som schopný úspešne kopírovať svoje model na GPU pomocou model.to(device)
tam , kde je device = cuda:0
.
Štandardné metódy pre kopírovanie textu do GPU, (RuntimeError: Input type (horák.FloatTensor) a hmotnosť typ (horák.cuda.FloatTensor) by mal byť rovnaký), ktorý je X.to(device)
a X.cuda()
nedáva mi požadovaný výstup. Toto je metóda, ja som v súčasnej dobe implementácie:
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)
Na tlač prístroj hodnota print(device)
to ukazuje, ako: cuda:0
. Ale keď som spustiť print(X.is_cuda)
to sa vracia false
. (Screenshot pripojený nižšie).
Prosím, dajte mi vedieť, kde som v poriadku. Ďakujeme!