[英]How to add GPU computation for the CIFAR 10 pytorch Tutorial?
可以在以下位置找到pytorch的cifar 10教程: https ://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-beginner-blitz-cifar10-tutorial-py
本教程介紹了如何使用pytorch為CIFAR 10數據集創建簡單的卷積神經網絡。 快要結束了,它略微介紹了如何為GPU實現上述代碼。
本質上的區別是,我們創建設備= torch.device('gpu')並將所有張量發送到gpu設備,然后再使用它們進行計算。 因此,從本質上講,我們希望在每次執行計算之前將凈對象以及輸入張量和標簽張量發送到gpu設備。
所以我回去補充說:
net.to(device)
在計算循環中:
with torch.no_grad():
for data in testloader:
images, labels = data
#I added this line of change:
inputs, labels = inputs.to(device), labels.to(device)
outputs = net(images)
_, predicted = torch.max(outputs, 1)
c = (predicted == labels).squeeze()
for i in range(4):
label = labels[i]
class_correct[label] += c[i].item()
class_total[label] += 1
但是,這導致了錯誤: OSError: [Errno 12] Cannot allocate memory
我有什么誤會? 我是否需要進行其他任何更改,以便整個教程可用於GPU?
沒有足夠的交換空間時,可能會發生這種情況。 嘗試使用少量num_workers
。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.