专栏首页小红豆的数据分析小蛇学python(22)pytorch配置cuda实现GPU加速

小蛇学python(22)pytorch配置cuda实现GPU加速

深度学习如火如荼,使用普通的cpu来跑模型真的让人急死,就算最普通的垃圾显卡,只要支持cuda,就可以实现gpu加速,其速度至少是cpu的5倍。

本文就来讲述,在配置pytorch+cuda环境实现gpu加速时遇到的坑。

首先你应该检查一下自己电脑的显卡是否支持gpu加速,并且对应的cuda版本号是多少。右键点击NVIDIA控制面板,点击下图左下方的系统信息。

查看cuda版本号1.png

然后点击组件,观察红框内信息。

查看cuda版本号2.png

这说明我的电脑显卡需要安装cuda10.2。

然后接下来就是安装cuda和cudnn。

这是cuda的网址,找到10.2的cuda下载即可。

[https://developer.nvidia.com/cuda-downloads](https://developer.nvidia.com/cuda-downloads)

然后就是安装。安装cuda的时候,我遇到了第一个坑。作为新手,不要选择自定义安装,不然你不知道少安装了啥,就乖乖的点击精简安装就可。

然后就是安装cudnn。cudnn的安装也有坑。

安装cudnn的网址如下。

[https://developer.nvidia.com/rdp/cudnn-archive](https://developer.nvidia.com/rdp/cudnn-archive)

这里也有一个坑,那就是必须要注册英伟达官网的账号,才能下载。当然,你也可以用百度云、网盘资源之类的,我没尝试。这里说说,注册官网账号的坑。英伟达的官网特别烂,我注册时不小心邮箱填错了,然后无法返回,这样无法收到验证信息,这个账号就没法用。

我尝试了很多办法,清除缓存记录,删掉浏览器重新安装等等,都没有办法。最后选择了使用火狐来注册,发现成功了。而且火狐浏览器打开英伟达网站比较快,chorme特别慢,真的玄学。

下载好cudnn后,解压缩,将其所有内容复制粘贴到你cuda安装路径下的v10.x文件夹中即可。

然后接下来就是配置环境。这是我配置的环境,如下图。

环境变量.PNG

系统变量是安装时自动添加的。这里不再赘述。

然后你可以在命令行中,输入如下两个命令,来分别验证cuda和cudnn是否成功。

nvcc -V

CUDA成功.PNG

nvidia-smi

cudnn成功.PNG

这些成功后,cuda方面的安装就结束了。接下来,验证你电脑里装的pytorch是否适合cuda。

运行一下代码来验证。

# coding=gbk
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)

三个print,第一个输出当前的torch版本,第二个输出是否可以GPU加速,第三个输出与torch匹配的cuda版本。

我的输出如图。

输出.PNG

这里要提一下,虽然显示我的torch版本为1.3.1,并且匹配的cuda是10.1,但是10.2也是可以的。

我的安装torch版本的时候,也遇到了坑。我本来的torch版本为1.0.1,并且是无法GPU加速的。于是我就去torch网站上下载版本,网址如下。

[https://download.pytorch.org/whl/torch_stable.html](https://download.pytorch.org/whl/torch_stable.html)

我找到了合适的1.3.1版本,并下载安装。但是发现仍然不可以GPU加速,而且我输出torch版本仍旧为1.0.1。

再三查找。我发现我虽然卸载了torch1.0.1,但是其在D:/python/lib的路径下仍然还有一个文件夹torch,pycharm仍默认使用1.0.1版本。将其删除即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小蛇学python(21)Python中的if __name__ == '__main__'

    在具体说明if name == 'main'功能前,先从一个简单的实例直观上感受一下。

    用户2145057
  • 亿图图示9.0

    之前给大家介绍过一次亿图图示,那次是8.0版本,最近9.0版本的亿图图示刚刚被我搞到破解版,就急不可耐得和大家分享了。

    用户2145057
  • acmer之路(3)四月第一周日志

    这一周加入了院足球队,好久都没有感受到在赛场上奔腾的感觉了。不过正好赶上清明,因此也算有充足的时间来码代码。这个月一共码了20题,排名终于冲进了四万名。

    用户2145057
  • Spring MVC 3中关于url-pattern设成"/"后,资源访问问题

    SpringMVC3中关于url-pattern设成"/"后,CSS等资源的访问会报错:No mapping found for HTTP request wi...

    用户3135539
  • msf出现Database not connected等问题【已解决】

         kali启动msf后,出现Module database cache not built yet, using slow search,或是Datab...

    逆向小白
  • 思科公司发布强大的AI服务器UCS C480 ML M5

    AI算法在理论上是很好的,但如果你没有强大的硬件来部署它们,它们基本上是无用的。使用传统计算机,复杂的模型可能需要数小时,数天甚至数周才能进行训练。

    AiTechYun
  • 前端-学习JavaScript是一种什么样的体验?

    嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 Web 编程,听说 Web 技术已经发生了一些变化。听说你是这里对新技术最了解的 Web 开发...

    grain先森
  • 探究 source map 在编译过程中的生成原理

    source map 是开发时调试代码的利器之一。现代的构建工具如 webpack 早已对 source map 有了完备的支持,对照文档就能很容易在打包时顺手...

    逆葵
  • JavaScript设计模式 代理模式

    代理模式的关建是,当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际访问的是替身对象,替身对象对请求做出一些处理...

    菜的黑人牙膏
  • 【Java入门提高篇】Day17 Java异常处理(下)

    弗兰克的猫

扫码关注云+社区

领取腾讯云代金券