深度学习笔记1:“安装CUDAPytorch调试GPU环境“方法以及常见误区

Posted yuhongchuancsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习笔记1:“安装CUDAPytorch调试GPU环境“方法以及常见误区相关的知识,希望对你有一定的参考价值。

因为我的电脑是在18年买的,比较旧(GTX1050),安装的Python版本又很新(3.8.8),接下来面临的主要问题就是版本兼容问题。对于安装方法,网上总结的很全了,这里总结一下重要的安装要点,也是新手容易困惑的地方

误区1:CUDA安装版本上限

查找网上CUDA安装方法,很多文章都会通过“NAVIDA控制面板→帮助→系统信息→组件”查找到CUDA的版本,并且认定这是和系统兼容的版本(即:安装的版本上限)。我认为这是错误的。

我认为这是错误的原因:我的显卡是18年出的GTX1050,按照上述方法,我开始查到的CUDA版本号是9.1。后来通过试验发现:即使我安装了19年出的CUDA10.2,也是兼容的。因此我认为:按照上述方法给出的CUDA版本号并不是安装上限,而是你曾经安装过的CUDA版本号或者说你显卡推出年份的CUDA版本号。

如果安装高于这个的CUDA版本,是没有问题的。以我自己为例,至少GTX1050是可以安装10.2的。

我为什么特意强调了这一误区呢?这一误区导致我开始认为要么安装Python老版本,要么换一个新显卡,否则无法调用GPU环境了(悲)。因为我的Python版本很新,导致对Pytorch和CUDA的安装版本要求也比较新,老的CUDA无法和Pytorch、Python同时兼容。如果能够认识到这个误区,就可以根据自己需求下载这三个软件了,不用再担心“显卡过旧和CUDA不兼容”的问题。

方法1:最快查询CUDA、Pytorch、Python兼容版本的方法,少走很多弯路

即使电脑成功安装了CUDA和Pytorch,如果版本不兼容,也无法调用GPU环境。我自己就在这步花费了很多时间。

有文章通过Pytorch官网的pip命令安装Pytorch库。对于更快的方法,我直接上结论:通过pytorch下载界面的文件名来看(下载界面的链接https://download.pytorch.org/whl/torch_stable.html

如上图,whl文件的文件名直接告诉了我们兼容的CUDA、pytorch和python版本号,选择合适的文件下载即可。

这样还有一个好处:如果通过官网的pip安装命令下载pytorch,可能需要梯子,且下载速度很慢,进而导致pytorch无法正常安装。如果通过浏览器先下载好whl文件,再安装,速度就很快。对于whl文件的安装方法,参考https://jingyan.baidu.com/article/08b6a5917ed44214a909225c.html

方法2:“NIVIDA安装程序失败”处理方法

(1)在安装CUDA之前,点开控制面板,卸载所有NIVIDA公司的产品,保留框里的两个。然后用360或者电脑管家清理卸载残留,清理注册表。

(2)  进入C:\\Program Files,删除NIVIDA  Corporation文件夹。如果提示文件正在运行,先用任务管理器中止NIVDA组件运行再删除,或者利用电脑管家的文件粉碎机强行删除。

(3)安装时,不要勾选“Visual Studio Integration”组件

(4)CUDA安装后,要进行环境变量配置和CUDNN的文件配置,推荐一篇博客:win10+CUDA安装及环境配置_Henry的博客-CSDN博客_cuda配置环境变量

方法3:其它问题的补充

(1)调用GPU环境的代码

import torch
tensor = torch.rand(3,4)
print(f"Shape of tensor: {tensor.shape}")
print(f"Datatype of tensor: {tensor.dtype}")
print(f"Device tensor is stored on: {tensor.device}")
if torch.cuda.is_available():
    tensor = tensor.to('cuda')
    print(f"Device tensor is stored on: {tensor.device}")
    print(torch.cuda.is_available())#如果结果为True,说明GPU环境可以调用

(2)GPU环境下,初次运行深度学习代码,可能出现虚拟内存不足的问题,需要为磁盘开辟虚拟内存

(3)"CUDA out of memory" 解决方法:调小图片尺寸、降低Batch_size、令num_workers=0、令pinmemory=0、或者买个显卡(玩笑 

以上是关于深度学习笔记1:“安装CUDAPytorch调试GPU环境“方法以及常见误区的主要内容,如果未能解决你的问题,请参考以下文章

李宏毅2020机器学习深度学习笔记1+2 &&深度学习基础与实践课程笔记2

《Python深度学习》第一章读书笔记

深度优先搜索 DFS 学习笔记

《繁凡的深度学习笔记》前言目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

李沐《动手学深度学习》第二版 pytorch笔记1 环境搭建

吴恩达-深度学习-课程笔记-6: 深度学习的实用层面( Week 1 )