5分钟
在GPU上训练
把一个神经网络移动到GPU上训练就像把一个Tensor转换GPU上一样简单。并且这个操作会递归遍历有所模块,并将其参数和缓冲区转换为CUDA张量。
In [ ]:
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
# 确认我们的电脑支持CUDA,然后显示CUDA信息:
print(device)本节的其余部分假定device是CUDA设备。
然后这些方法将递归遍历所有模块并将模块的参数和缓冲区 转换成CUDA张量:
net.to(device)记住:inputs, targets 和 images 也要转换。
inputs, labels = inputs.to(device), labels.to(device)为什么我们没注意到GPU的速度提升很多?那是因为网络非常的小。
实践: 尝试增加你的网络的宽度(第一个nn.Conv2d的第2个参数,第二个nn.Conv2d的第一个参数,它们需要是相同的数字),看看你得到了什么样的加速。
实现的目标:
- 深入了解了PyTorch的张量库和神经网络
- 训练了一个小网络来分类图片
译者注:后面我们教程会训练一个真正的网络,使识别率达到90%以上。
学员评价