- 为了追求更快的速度,机器学习研究人员开始利用一些计算机中的特殊硬件。这些硬件原本是用来提升图形处理性能的,叫做显卡。
NVIDIA CUDA
- 显卡中包含一个GPU,它能够以高度并行化的方式实现矩阵乘法。
- 在很长一段时间,英伟达(NVIDIA)的GPU市场份额一直保持领先。他们有一套成熟的软件工具,可以充分利用硬件加速。这套软件框架就是CUDA。MVIDIA的竞争对手是AMD。
在Python中使用CUDA
- 创建一个GPU中的张量
- 用大小为
600
×
600
600 \times 600
600×600的句子矩阵CUDA张量,并在GPU上进行矩阵乘法。
- 在Python笔记本开头检查CUDA是否可用的标准代码。
if torch.cuda.is_available():
torch.set_default_tensor_type(torch.cuda.FloatTensor)
print("using cuda:", torch.cuda.get_device_name(0))
pass
device = torch.device("cuda" if torch.cuda.is_available
else "cpu")
print(device)
- 在简单的基准测试中,GPU的速度超过CPU 150倍。