深度学习笔记1:“安装cudapytorch调试gpu环境“方法以及常见误区(代码片段)

yuhongchuancsu yuhongchuancsu     2023-01-04     227

关键词:

因为我的电脑是在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、或者买个显卡(玩笑 

《andrewng深度学习》笔记1

深度学习概论1.什么是神经网络?2.用神经网络来监督学习3.为什么神经网络会火起来?1.什么是神经网络?深度学习指的是训练神经网络。通俗的话,就是通过对数据的分析与计算发现自变量与因变量的映射关系(神经网络模型)... 查看详情

吴恩达深度学习笔记+作业

1.1.2Buildingbasicfunctionswithnumpy1.1.2.2numpy.exp,sigmoid,sigmoidgradientimportnumpyasnpdefsigmoid(x):s=1/(1+np.exp(-x))returns#设sigmoid为s,s‘=s*(1-s)defsigmoid_derivative(x):s=1/(1+np.exp(-x))ds=s* 查看详情

李沐深度学习课程---学习笔记目录

1.深度学习环境配置&在云服务器上运行jupyternotebook 查看详情

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

机器学习:研究如何从观测数据(observations)中寻找“规律”(skill),这些规律可以在未知数据上的表现有所改进。目的:使用“高质量”的训练数据,构建“合适”的模型,以“更佳地”完成任务。本质:让... 查看详情

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

《Python深度学习》读书笔记第一章什么是深度学习1.1人工智能、机器学习与深度学习人工智能的简洁定义:努力将通常由人类完成的智力任务自动化。机器学习与数理统计密切相关。机器学习(尤其是深度学习)呈现出相对较少的数... 查看详情

《动手学深度学习(李沐)》笔记1

实现一个简单的线性回归(mxnet)frommxnetimportndarrayasndfrommxnetimportautogradimportmatplotlib.pyplotaspltimportrandomnum_input=2#变量数num_examples=1000#1000个样例true_w=[2,-3.4]#真实的系数Wtrue_b=4.2#真实的偏倚bX=nd.random_no 查看详情

深度学习——概论学习笔记

1.什么是神经网络例1:房屋价格预测房屋大小(输入x)->函数(神经元)->房屋价格(输出y)例2:房屋价格预测(多神经元)输入 隐藏单元 输出size->family pricebedroomswalkability  zipcodeschoolquality  wea... 查看详情

深度优先搜索dfs学习笔记

深度优先搜索学习笔记引入深度优先搜索DFS是图论中最基础,最重要的算法之一。DFS是一种盲目搜寻法,也就是在每个点\\(u\\)上,任选一条边DFS,直到回溯到\\(u\\)时才选择别的边,如下图。他的搜索顺序为1-2-3-4-6。递归实现指... 查看详情

深度强化学习的组合优化[1]综述阅读笔记

...(1)精确方法(2)近似方法(3)深度学习方法3.文章架构一、概述1.神经网络(1)Hopfield网络(2)指针网络Ptr-Net 查看详情

李沐《动手学深度学习》第二版pytorch笔记1环境搭建(代码片段)

李沐《动手学深度学习》第二版pytorch笔记1搭建环境文章目录李沐《动手学深度学习》第二版pytorch笔记1搭建环境此时尚有耐心虚拟环境搭建创建虚拟环境查看已有的虚拟环境激活虚拟环境安装深度学习框架和d2l软件包安装d2l安... 查看详情

深度学习笔记

 逻辑回归(logisticsinmoid):将线性函数的输出压缩进区间(0,1)。逻辑回归机器学习算法与Python实践之(七)逻辑回归(LogisticRegression)Coursera公开课笔记:斯坦福大学机器学习第六课“逻辑回归(LogisticRegression)” 支持向量... 查看详情

深度学习笔记:batchsize问题总结

...chSize的好处3、BatchSize太大的坏处理论系列:    深度学习笔记(一):卷积层+激活函数+池化层+全连接层    深度学习笔记(二):激活函数的前世今生    深度学习笔记(... 查看详情

深度学习笔记:batchsize问题总结

...chSize的好处3、BatchSize太大的坏处理论系列:    深度学习笔记(一):卷积层+激活函数+池化层+全连接层    深度学习笔记(二):激活函数的前世今生    深度学习笔记(... 查看详情

《深度学习笔记》——训练加速篇

1介绍在本文中,我们将记录关于模型训练加速的学习笔记~首先我们看看李沐老师在【动手学深度学习v2】课程中讲述的关于“让训练更加稳定的技巧”: 查看详情

《南溪的目标检测学习笔记》——深度学习的假设

1拟态假设1.1视觉神经元假设——Convolution卷积是最常见的视觉神经假设;Convolution的操作也模拟了视神经感受野的特点; 查看详情

深度学习文献阅读笔记

...结总结与大家分享,留作纪念,方便以后參考。  1、深度追踪:通过卷积网络进行差异特征学习的视觉追踪(DeepTrack:LearningDiscriminativeFeatureRepresentationsbyConvolutionalNeuralNetworksforvisualTracking)(英文,会议论文,2014年。EI检索) ... 查看详情

《andrewng深度学习》笔记4

浅层神经网络1.激活函数在神经网络中,激活函数有很多种,常用的有sigmoid()函数,tanh()函数,ReLu函数(修正单元函数),泄露ReLu(泄露修正单元函数)。它们的图形如下:sigmoid()激活函数,范围是y属于{0,1},所以0<=y<=1。但是sig... 查看详情

python机器学习笔记(代码片段)

...机器学习概述1.1人工智能概述1.1.1机器学习与人工智能、深度学习关系机器学习和人工智能、深度学习的关系机器学习是人工智能的一个实现途径深度学习是机器学习的一个方法发展而来达特茅斯会议(DartmouthConferences)-... 查看详情