python-3.x - 如何为 CIFAR 10 pytorch 教程添加 GPU 计算?

标签 python-3.x machine-learning computer-vision gpu pytorch

pytorch 的 cifar 10 教程可以在这里找到: https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-beginner-blitz-cifar10-tutorial-py

本教程介绍了如何使用 pytorch 为 CIFAR 10 数据集创建一个简单的卷积神经网络。临近结束时,稍微介绍一下如何在 GPU 上实现上述代码。

本质上的区别在于,我们创 build 备 =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] 无法分配内存

我误解了什么?我是否需要进行任何其他更改才能使整个教程适用于 GPU?

最佳答案

当交换空间不足时,可能会发生这种情况。尝试使用少量的 num_workers

希望这有帮助!

关于python-3.x - 如何为 CIFAR 10 pytorch 教程添加 GPU 计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716432/

相关文章:

http - 在 Python3 中使用 Urllib 下载文件,出现 HTTP 错误 403-伪造用户代理?

opencv - 在 OpenCV 中量化描述符

opencv - 在opencv的solvePnP中,我应该为objectPoints传递什么?

c++ - 2006 年 Middlebury 立体声数据集的基准测试

python - 查找不等于特定值的第一个元素的索引

Python套接字发送在多次调用recv后不起作用

c# - 我应该如何将经过训练的 CNN 模型部署到 C# 项目?

python - 数据科学,鸢尾花数据集,目标属性,csv文件

python - 如何获取Python/Pip包的PyPi链接、许可证、代码和主页?

java - 合并两个具有不同但重叠模式和不同实例数量的稀疏 weka 数据集