मैं कोशिश कर रहा हूँ को प्रशिक्षित करने के लिए एक DNN मॉडल का उपयोग कर pytorch, और मैं चाहते हैं का उपयोग करने के लिए GPU के लिए मॉडल. मैं करने में सक्षम हूँ सफलतापूर्वक कॉपी करने के लिए अपने मॉडल GPU का उपयोग कर model.to(device)
है , जहां device = cuda:0
.
हालांकि, मानक तरीकों की नकल के लिए इनपुट करने के लिए GPU, (RuntimeError: इनपुट प्रकार (मशाल.FloatTensor) और वजन के प्रकार (मशाल.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
. (स्क्रीनशॉट नीचे संलग्न).
कृपया मुझे पता है मैं कहाँ जा रहा हूँ गलत है । धन्यवाद!