pytorch通过torch.cuda使用GPU加速运算且比较GPU与CPU运算效果以及应用场景
Song • 57950 次浏览 • 0 个回复 • 2017年09月05日

在GPU中使用torch.cuda
进行训练可以大幅提升深度学习运算的速度. 而且 Torch有一套很好的GPU运算体系.可以大大的提升我们的元算速度,特别是当我们进行大数据的运算时,今天我们来讲解以及分析一下pytorch使用CUDA,视频教程可以参考GPU 加速运算
pytorch检查自己的系统是否支持CUDA
- 首先你的电脑里必须得有合适的GPU显卡(NVIDIA),且支持CUDA模块. GPU支持请参考NVIDIA官网
- 必须安装GPU版的Torch,即安装pytorch时指定了cuda,安装教程参考使用Pip/conda/source在Ubuntu/centos/Mac Os中安装Pytorch v0.2教程
- 说了这么多,到底如何查看当前环境是否支持CUDA呢?只需要:
print torch.cuda.is_available() # 返回True代表支持,False代表不支持
pytorch中torch.cuda基础入门以及简单使用
pytorch中的torch.cuda基础入门在文档中其实已经讲得很详细了,比如我们使用torch.cuda.synchronize()
可以等待当前设备上所有流中的所有内核完成。同时我们还可以使用NVIDIA工具扩展(NVTX),还有很多用法,这里就不一一介绍了,具体查看torch.cuda中文文档
pytorch中GPU与CPU的运算性能比较
有很多朋友说在使用GPU和CPU进行运算的过程中(比如GAN),发现使用的时间都差不多;是不是GPU并不比CPU快多少呢?
其实不是这样,如果你运行一个很小的数据模型,那么CPU和GPU的运算速度是差不多的,但是如果你运行大型模型,就可以看到加速效果。我们不能单纯说GPU一定比CPU快,决定因素除了除了我们GPU的配置,还有我们的网络,数据的大小以及数据的类型,有时候GPU运算反而不如CPU快速
举例说明:在使用的情况下,在Titan X GPU
中运行VGG16
比在Dual Xeon E5-2630 v3 CPU
中快66倍
pytorch中GPU与CPU的相互转化
-
深度学习中我们默认使用的是CPU,如果我们要使用GPU,需要使用
.cuda
将计算或者数据从CPU移动至GPU, - 如果当我们需要在CPU上进行运算时,比如使用
plt
可视化绘图, 我们可以使用.cpu
将计算或者数据转移至CPU.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import torch
from torch.autograd import Variable
# 将变量或者数据移到GPU
gpu_info = Variable(torch.randn(3,3)).cuda()
# 将变量或者数据移到CPU
cpu_info = gpu_info.cpu()
原创文章,转载请注明 :pytorch通过torch.cuda使用GPU加速运算且比较GPU与CPU运算效果以及应用场景 - pytorch中文网
原文出处: https://ptorch.com/news/53.html
问题交流群 :168117787
- 没有评论