0


ubuntu18.04复现yolo v8环境配置之CUDA与pytorch版本问题以及多CUDA版本安装及切换

最近在复现yolo v8的程序,特记录一下过程

环境:ubuntu18.04+ros melodic

小知识:GPU并行计算能力高于CPU—B站UP主说的

Ubuntu可以安装多个版本的CUDA。如果某个程序的Pyorch需要不同版本的CUDA,不必删除之前的CUDA,可以实现多版本的CUDA切换

一、查看当前PyTorch使用的CUDA版本:

python -c "import torch; print(torch.version.cuda)"

注意:sudo ln -sf libcudnn.so.8.0.5 libcudnn.so.8
1.需要进入conda环境
2.进入conda环境命令:

conda activate ****

3.查看conda环境命令:

conda env list

或者

conda info -e

4.卸载指定conda环境:

conda remove -n  需要删除的环境名 --all

5.创建conda环境:

conda create -n [your_env_name] python=[X.X](2.7、3.6等)#eg:conda create -n django_env python=3.6

二、假设ubuntu系统已经安装了CUDA,此时需要重新安装另外一个版本(如果你是第一次安装CUDA也没关系,重复下面步骤两次,选择不同的CUDA版本即可)。进入cuda官网,选择需要的版本。

原因:为什么如此麻烦下载多个版本的CUDA呢?因此我们在复现别人代码时,都会看到类似的要求:

Pip install the ultralytics package including all requirements in a Python>=3.8 environment with PyTorch>=1.8.

不同程序需要不同版本的python和pytorch,而pytorch和CUDA之间有一定的对应关系,如果不按要求安装,会造成后续报错,无法复现他人的程序。pytorch和CUDA的对应关系网站:

https://pytorch.org/get-started/previous-versions/

CUDA官网下载:

https://developer.nvidia.com/cuda-toolkit

在这里插入图片描述

注意:官网页面显示的是最新版本的cuda,点击Resources中的Archive of Previous CUDA Releases,选择之前的版本,例如我这里选择的是

CUDA Toolkit 11.1.1 (October 2020), Versioned Online Documentation

点击CUDA Toolkit 11.1.1即可

在这里插入图片描述
按照下图进行选择Linux—x86_64—Ubuntu—18.04—runfile(local)

在这里插入图片描述
下载方法可以参考我另外一篇博客:ubuntu系统配置CUDA和cuDNN

大致流程如下

安装:复制

https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run

到另外一个网页进行下载。

使用如下命令安装

sudo sh cuda_11.1.1_455.32.00_linux.run

后面的步骤为:

1. Q:Existing package manager installation of the driver found. It is strongly    │
│ recommended that you remove this before continuing.                          │
│ Abort                                                                        │
│ Continue
A:Continu

2. Q:Do you accept the previously read EULA?(accept/decline/quit):
A:accept  # 接受协议
3.Q:
│ CUDA Installer                                                               │
│ -[X] Driver                                                                 │
│      [X]455.32.00                                                           │
│ +[X] CUDA Toolkit 11.1                                                      │
│   [X] CUDA Samples 11.1                                                      │
│   [X] CUDA Demo Suite 11.1                                                   │
│   [X] CUDA Documentation 11.1                                                │
│   Options                                                                    │
│   Install   
A:
#注意根据提示:[]中没有X的即不选择,[X] 表示选择安装,因为已经提前安装了显卡驱动,所以把显卡驱动的安装选项取消掉:
#只有CUDA Toolkit 11.0是必选项,其他可选可不选
#Install进入下一步4.Q: A symlink already exists at /usr/local/cuda. Update to this installation?    │
│ Yes                                                                          │
│ No   
A:N0,选择no,否则会创建一个软连接覆盖之前那个/usr/local/cuda

至此CUDA11.1安装成功

cuda版本切换和环境变量设置

1、在 ~/.bashrc 文件中设置cuda的环境变量内容如下,这样是可以做到cuda版本切换的,通过更换软连接方式:

gedit ~/.bashrc
添加环境变量,在~/.bashrc的最后添加以下内容

export PATH=/usr/local/cuda/bin:$PATH  
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda

保存文件,然后运行命令:
source ~/.bashrc

安装后,在/usr/local路径下,通过ls命令查看是否存在新安装的CUDA目录:
在这里插入图片描述可以看到有之前安装的cuda-11.0和新安装的cuda-11.1

三、安装对应的cuDNN
安装新的版本的CUDA后,还要安装对应的cuDNN。
1、首先下载对应版本的cuDNN
百度搜索cuDNN官网,下载CUDA对应版本的cuDNN

https://developer.nvidia.cn/rdp/cudnn-archive

我下载的是Download cuDNN v8.0.5 (November 9th, 2020), for CUDA 11.1

在这里插入图片描述

此处下载:

cuDNN Library forLinux(x86_64)

2、cd到cudnn压缩包所在的文件夹下进行解压等操作:

tar -zxvf cudnn-11.1-linux-x64-v8.0.5.39.tgz
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 /usr/local/cuda-11.1/lib64/libcudnn*

cd /usr/local/cuda-11.1/lib64/
sudo ln -sf libcudnn.so.8.0.5 libcudnn.so.8

注意:这里cuda-后面的数字根据自己的版本号进行个修改,不知道的话可以Tab补全

四、CUDA版本的切换

1、删除原版本的cuda软连接

sudo rm -rf /usr/local/cuda

2、建立新的指向cuda-11.1的软连接

sudo ln -s /usr/local/cuda-11.1/usr/local/cuda

3、重新查看当前CUDA版本

cd /usr/local/
stat cuda

在这里插入图片描述
五、安装yolo v8所需的pytorch
前几步已经安装好了cuda和cudnn,这里下载对应的pytorch==1.8.0
cuda和pytorch版本关系网址:

https://pytorch.org/get-started/previous-versions/

a.创建yolov8的conda环境

conda create -n yolov8 python=3.8

b.进入yolov8的conda环境

conda activate yolov8

c.下载pytorch及对应的torchvision、torchaudio、cudatoolkit等

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1-c pytorch -c conda-forge

注意:此时报错

/ WARNING conda.core.envs_manager:register_env(50): Unable to register enviroment. Path not writable or missing.

在这里插入图片描述解决办法:这是一个conda新建虚拟环境的权限问题,给予主目录下anaconda3文件权限即可(在主目录下打开终端),执行以下命令。

sudo chown -R dlut anaconda3

其中:dlut是我电脑的名字,根据实际情况修改。

在这里插入图片描述
回到之前的终端,重新执行

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1-c pytorch -c conda-forge

在这里插入图片描述此时,显示了yolov8的conda环境已经成功配置,执行以下命令即可查询到pytorch对应的cuda版本。

python -c "import torch; print(torch.version.cuda)"

显示的是CUDA 11.1。

终于搞定了,完结撒花~~ 接下来正式安装及运行yolov8


本文转载自: https://blog.csdn.net/Time_Memory_cici/article/details/132422772
版权归原作者 Time_Memory_cici 所有, 如有侵权,请联系我们删除。

“ubuntu18.04复现yolo v8环境配置之CUDA与pytorch版本问题以及多CUDA版本安装及切换”的评论:

还没有评论