yolov3的训练(二)cuda和cudnn

提出的问题
https://ask.csdn.net/questions/7771526

参考的教程
https://blog.csdn.net/zhaoxueqi666/article/details/120333153


##################################
同学们,这个系列的文件不要直接就跟着我操作了,因为这个是踩坑的记录,不是教程,我只是将整个流程记录下来,让后面的同学操作的时候能够避开这些坑,希望你能将整个系列的操作流程看了一遍斟酌后进行操作
##################################


根据在csdn和网上其他大神的指导
初次怀疑是机器的cuda和cudnn的版本过低
所以首先尝试对cuda和cudnn进行升级
其实图片这里反映了另一个重大的问题,只是当时眼挫没注意到,后面注意到了并修复

nvidia-smi

在这里插入图片描述

现阶段CUDA的版本是10.2

升级为11.1
进入到官网
https://developer.nvidia.com/cuda-downloads

选择对应的版本,然后选择runfile的下载方式,nvidia会给出命令行的下载方式
在这里插入图片描述
如果要选择其他版本的cuda,可以在页面下端选择
在这里插入图片描述

然后找到需要的版本,点击进去
在这里插入图片描述
执行nvidia给出的安装命令

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

在这里插入图片描述
然后查看nouveau驱动

lsmod | grep nouveau

在这里插入图片描述

无输出则代表nouveau没有加载,有的话要禁用nouveau
Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,如果需要用nvidia自己的驱动的话就要先禁止

到下载cuda的位置,然后执行安装脚本
sudo sh cuda_11.1.0_455.23.05_linux.run
在这里插入图片描述

中间参考的文件
重装cuda报错“Error installing Cuda toolkit: Existing package manager installation of the driver found”


然后等待一下,可以先尝试直接选择continue,之后安装的时候不在装driver就好,顺利的话也可以直接成功安装,记得之后修改.bashrc文件
在这里插入图片描述

然后就是用户许可协议
在终端输入accept同意协议
在这里插入图片描述
由于我之前已经安装了Nvidia的显卡驱动,这里不安装driver,那么只需要移动到Driver,按enter键,将"[]"中的X去掉即是不选择.
然后移动到install回车即可
在这里插入图片描述

选择升级全部
在这里插入图片描述

然后选择yes
在这里插入图片描述

稍等片刻后,安装完成

然后添加环境变量

sudo gedit ~/.bashrc 

将原本的cuda注释或删除
根据终端的提示,然后添加以下语句

export PATH=$PATH:/usr/local/cuda-11.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-11.1/lib64

在这里插入图片描述

然后刷新环境变量,使其生效

sourec .bashrc

接着查看cuda的版本,可以看到环境变量已经生效

nvcc -V

在这里插入图片描述

中途参考的资料
cuda版本nvidia-smi和nvcc -V显示不同

然后查看GPU的使用情况

nvidia-smi

在这里插入图片描述

那么cuda安装完成了,接下来就安装cudnn
根据官网,和CUDA11.1配套的是CUDNN8.0.4
https://developer.nvidia.com/rdp/cudnn-archive#a-collapse804-111


进入到下载页面,nvidia要求下载cudnn需要登陆账号
在这里插入图片描述

然后查找
在这里插入图片描述

点击CUDNN8.0.4,进去有很多的版本
在这里插入图片描述
添加链接描述
如果不知道电脑的版本可以查看

uname -a

在这里插入图片描述

完成后会下载
由于网络比较卡,所以我是在Win10下载,然后使用filezilla发送过去

中途参考的资料
解压 .solitairetheme8 文件

然后下载的是.solitairetheme8类型的文件,需要转换成tgz然后解压
在这里插入图片描述

cd NVIDIA_CUDA-11.1_Samples/
cp cudnn-11.1-linux-x64-v8.0.4.30.solitairetheme8 cudnn-11.1-linux-x64-v8.0.4.30.tgz
tar -xvf cudnn-11.1-linux-x64-v8.0.4.30.tgz

在这里插入图片描述

解压之后得到一个cuda文件夹
在这里插入图片描述

将解压缩的文件放入对应cuda项目下,但是发现终端报错

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

在这里插入图片描述

终端报错,移动到路径,发现文件名称不一样
在这里插入图片描述

进行对应的修改,将将解压缩的文件放入对应cuda项目下

sudo cp cuda/include/cudnn.h /usr/local/cuda-11.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.1/lib64/

在这里插入图片描述

并设上只读权限

sudo chmod a+r /usr/local/cuda-11.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.1/lib64/libcudnn*

在这里插入图片描述

然后为了查看安装的版本号,可以将cudnn_version.h文件放到usr/local/cuda/include目录下

将 /home/heying/NVIDIA_CUDA-11.1_Samples/cuda/include/cudnn_version.h文件移动到/usr/local/cuda-11.1/include/路径下

sudo mv cudnn_version.h /usr/local/cuda-11.1/include

在这里插入图片描述

查看版本号,可以看到cudnn版本为8.0.4

cat /usr/local/cuda-11.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述

在完成修改后对darknt进行编译
在这里插入图片描述


初步怀疑是版本不对应

首先将下载的cudnn的修改文件进行删除
在这里插入图片描述
然后重新下载一个

重新移动

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

然后查看版本信息

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

没有输出

sudo cp include/cudnn_version.h /usr/local/cuda/include/
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

流程失败

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值