文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

2dmdr

https://sicmodule.kub2b.com/com2dmdr/

相关列表
文章列表
  • 暂无文章
推荐文章
yolov5环境配置:cuda(GPU)+anaconda+pytorch+pycharm的安装
发布时间:2024-12-23        浏览次数:0        返回列表

很好,我又来配置环境了,这次要求的是yolov5的环境配置,我是个魔鬼,所有的软件安装教程遇到我都得死,又是发疯的新专栏。

首先,咱得明白啥是cuda,为啥装它,这些网上都有,看过我也不记得。

重要的是装它之前我要知道一些基本知识,这是好多教程没讲的,上来就给文件包,cuda还分CPU和GPU,驱动和运行,这是一个雷,我已踩了,看下面这篇文章扫个盲先。CPU?GPU+配置CUDA_i5 10400f cpu 能安装cuda吗_恒哥来了超神的博客-CSDN博客

cuda的驱动和运行版本是不一样的两种东西,建议都更新安装,具体区别参考这篇

选取cuda版本参考这位(讲的比较细,就看这一部分) 这一部分一定要自己做,找到自己电脑对应版本的cuda,从官网下载。

记录一下我原本CUDA的版本11.6.99,这个99也太秀了

 打开任务管理器>性能,就可以看到了GPU型号,我选择的是N卡的GPU1

 在官网这样填好自己的型号,下载

下好了,出现这个窗口,意思“指定要保存驱动程序文件的文件夹”,它默认C盘,可惜我C盘要炸,那就存到别的盘里。

 再选择 精简安装

 更新完后cmd,输入nvidia-smi,查看我的CUDA Version(驱动版本)更新为12.2,哀家升级了

cmd输入nvcc -V查看自己的Cuda toolkit的版本,为11.6

选择的版本应该满足两点要求

Cuda runtime version必须小于等于Cuda driver version,我的必须小于等于12.2。
在满足前提下,还要满足版本必须与显卡的算力相匹配。

算力参考这个表格和官网CUDA Legacy GPUs | NVIDIA 开发者

已知显卡型号GeForce 930MX,驱动版本是536.67,算力为5.0,那么安装的Cuda toolkit的版本应该在6.5-12.2之间,参考。

接下来要让Cuda toolkit的版本和pytorch版本匹配,对应关系参考

而我根据下面的问答选择的11.8版本的

Cuda toolkit 下载官网

选择自定义安装,因为后三项之前已经安装过了,所有我没有选择安装,CUDA中我去掉了Visual Studio这项,因为没有用到,后面如果还要安装,可以继续用这个安装程序把需要的东西安装上去。

 它默认的文件装在C盘,我改成E盘下同名文件,不要和之前解压的安装包CUDA文件路径一样,重新建一个文件夹。参考

cmd再次查看版本,已经变为11.8

首先我们也需要确当版本,在官网注册一个账号

参考http://t.csdn.cn/kI71C

我下载的是v8.9.2版的

 把cudnn前3个文件夹复制到cuda toolkit的路径下

直接打开刚才的路径下的includecudnn_version.h进行查看,刚好为8.9.2

进入文件夹此电脑–空白处点击右键–点击属性–进入系统–点击高级电脑设置–环境变量,选中系统变量下的PATH这行编辑,参考

新建这四个环境变量

应用,完成

打开cmd,转到cuda toolkit目录下,执行如下指令,得到下面两张图,成功

 
 
 
 

卸载python是前提

我的cuda版本挺高的,选择anaconda较高版本的更容易适配成功,去官网或者清华镜像下载,但是不要用最新版本的(教程太少不详细,对新手不友好

动手之前看看我的问题1(目录

参考这篇,我的安装路径如下

cmd 输入conda --version,得到

继续打开系统配置环境变量的地方path

 输入代码,运行成功,可以看到我的python版本是3.9.13,conda是22.9.0

C盘没有容量的,参考我的问题2中的尝试3继续做

参考

先切换镜像源为国内清华镜像源,在这两个的教程里有提供,然后

进入pytorch官网下载,pytorch最新适配cuda11.8版本的,则

得到命令,就能下载了,如下(注意要确定这是GPU版本

 
 

接下来继续参考文档问题1中的方案

我安装的是专业版2022.2.2,参考http://t.csdn.cn/CtiCG

安装路径

 之后就像教程里一样安装成功了

打开pycharm,点击插件

 在搜索框中输入Chinese中文语言包,然后,重启

 点击项目,点击左侧纯python,修改位置,点击使用此工具新建环境,修改位置和基础解释器,勾选继承全站点软件包,勾选main.py,参考这篇文章

 右键点击pythonProject,新建文件目录code,右键code新建python.py文件,命名testGPU,输入代码,运行,测试

 
 

 testGPU文件可能一开始运行的按键是灰色的,这是因为还在pycharm更新解释器,在最下面可以看到更新进程

之后就可以运行了,结果如下,成功

点击最上方的运行,点击调试配置

右击python,打开下面的文件,如果没找到testGPU,就打开脚本路径,修改环境变量

 新建+环境命名PATH,输入路径,根据具体情况修改

 

再运行一次testGPU成功

参考

点击文件,打开项目,找到yolov5

自动弹出,取消(不知道这是什么

打开右上角的设置一个小齿轮,配置项目环境,参考教程

 打开以下的文件,点击右上角的安装要求

需要在anaconda下pytorch环境中安装的包,使用pip安装很快

 运行detec文件

得到

 

图片标注成功

 

当我以为安装好pytorch后,开始测试,显示如下

 

我先打算重新安装一下,又开始了

 

使用如下命令查询,安装包列表,发现根本没有pytorch的相关安装包

 

原因1

有大佬说可能是cuda安装错了版本,没有分清GPU和CPU版本,参考这位的评论区,不止我一个这样,有点平衡了。在安装之前先看有没有N卡,看电脑的GPU和CPU。【Debug记录】深度学习Pytorch+Anaconda环境下常见报错的原因及解决方案 | 亲测已解决_conda安装pytorch出错_liuuu0的博客-CSDN博客

原因2

我安装的Cuda toolkit 版本为11.6,而安装的pytorch为1.13.1版本,参考很多适配表,发现有部分博主说这两个版本不匹配(我也不懂官网哪里查

原因3

参考可能是我的cuda环境配置太高了,安装的anaconda3中的python(3.7.6,conda(4.8.2)等安装包版本过低,需要单独升级,或者降低环境。

解决方法:我想试试安装较高版本的anaconda3和python和conda

重新下载anaconda3,如下这个版本的,csdn许多大佬最新更新的版本(建议不要选2023版的,现状教程少又不详细,对小白不友好

 参考这位的安装教程

打开cmd后验证conda版本为22.9.0,python是3.9.13

 参考

创建环境

安装pytorch,出现如下情况,但是也能继续下

 

安装完查看环境中的安装包,如下

 测试,成功

 

 我直接进入应用里卸载带有11.6版本的软件

pytorch全都默认装到了C盘里

要怎么弄

 尝试1

我先进入pytorch虚拟环境中,输入命令尝试卸载

 
 
 
 

 文件夹中没变仍然存在,conda命令卸载不行了

尝试2

环境文件下有这个路径,是不是下载时设置一开始anaconda就设置在这个路径下,默认在就在ASUS里了,那么我更改路径他是不是会下载到别的路径里

参考 

输入命令

 

 得到如下

 

打开环境的文件夹,环境已被删除,pytorch安装包也被删除

然而C盘没有少多少,还有一个文件夹里都是文件

 尝试3(这部在安装完anaconda之后进行

同学说是因为虚拟环境目录的问题,参考

打开cmd,输入conda info

 我的默认路径为这三条,第一条就是在C盘,改了它

 

打开.condarc文件

 conda info和conda env list查看,该环境路径已经在最上面了

 但是我的文件夹还是只读,说明没有成功

打开该文件夹的属性,打开安全,点击user这行,编辑,修改权限,确定

报错,参考修改

 成功修改

 尝试4

参考

输入:conda clean -a
清理了一部分

解决方法:清理pkgs 参考

系统默认E:Pythonanaconda3为base路径,真正的base路径无法默认使用,且创建一个新的pytorch环境后,出现两个相同名字,但路径大小写不一样的环境。

 输入conda info

发现路径因为大小写的关系被分为E:Pythonanaconda3和E:PythonAnaconda3

打开.condarc都修改成大写,也没有用

修改环境变量里面的大小写,也没有用

暂时解决(勉强能用

     在environments文件中删除小写路径E:Pythonanaconda3,该路径消失,但是打开anaconda时,环境并不在base下的大写路径中,需要使用activate base 转换,且base路径的shell level为2,但是不会产生两个pytorch环境了