pytorch通过torch.cuda使用GPU加速运算且比较GPU与CPU运算效果以及应用场景

Song • 34255 次浏览 • 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
提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
Pytorch是什么?关于Pytorch! pytorch中使用torch.optim优化神经网络以及优化器的选择