目录
介绍
如何检查CUDA的可用性?
如何获取有关cuda设备的更多信息?
如何存储张量并在GPU上运行模型?
如果有多个GPU,如何选择和使用GPU?
数据并行
数据并行性比较
torch.multiprocessing
参考文献
1. 引言:
在本文中,我将展示如何使用torch和pycuda检查、初始化GPU设备,以及如何使算法更快。
PyTorch是建立在torch之上的机器学习库。它得到了Facebook AI研究小组的支持。在最近开发之后,由于它的简单性,动态图以及本质上是pythonic,它已经获得了很大的普及。它的速度仍然不会落后,在许多情况下甚至可以超越其表现。
pycuda允许您从python访问Nvidia的CUDA并行计算API。
2.如何检查CUDA的可用性
Sydney Rae在《 Unsplash》上创作的“沙滩上的棕色干树叶”
要检查Torch是否可以使用cuda设备,您可以简单地运行:
import torch
3. 如何获得cuda设备更多信息
Rawpixel在Unsplash上发布的“黑色智能手机”
要获取设备的基本信息,可以使用torch.cuda。但是,要获取有关设备的更多信息,可以使用pycuda,这是CUDA库周围的python包装器。您可以使用类似:
import torch
或者
torch.cuda.get_device_name(0) # Get name device with ID '0'
我编写了一个简单的类来获取有关您的cuda兼容GPU的信息:
要获取当前的内存使用情况,可以使用pyTorch的函数,例如:
mport torch
运行应用程序后,可以使用简单的命令清除缓存:
# Releases all unoccupied cached memory currently held by
但是,使用此命令不会通过张量释放占用的GPU内存,因此它无法增加可用于PyTorch的GPU内存量。
这些内存方法仅适用于GPU。
4. 如何在GPU上储存张量并且运行模型?
使用 .cuda
五只鸽子在栏杆上栖息,一只鸽子在飞行中---来自Nathan Dumlao Unsplash上的作品
如果要在cpu上存储内容,可以简单地写:
<pre class="" style="box-sizing: border-box !important; margin: 0px 0px 1rem;