繁体   English   中英

如何为CIFAR 10 pytorch教程添加GPU计算?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM