Am încercat să tren un DNN model folosind pytorch, și vreau să folosesc GPU-ului de a instrui modelul meu. Sunt capabil de a copia cu succes modelul meu la GPU folosind model.to(device)
, în cazul în care device = cuda:0
.
Cu toate acestea, metodele standard pentru copierea de intrare la GPU, (RuntimeError: tipul de Intrare (torță.FloatTensor) și greutatea tip (torță.cuda.FloatTensor) ar trebui să fie aceeași), care este, X.to(device)
și X.cuda()
nu mi-a dat rezultatul dorit. Următoarele este metoda sunt în curs de implementare:
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)
Pe de imprimare dispozitivul valoare print(device)
se prezinta ca: cuda:0
. Dar atunci când am alerga print(X.is_cuda)
se întoarce false
. (Screenshot atașat de mai jos).
Te rog, lasă-mă să știu unde am greșit. Vă mulțumesc!