当前位置:   article > 正文

OpenPcDet Ubuntu20.04 由于更换4060 ti显卡需要切换cuda11.8版本_ubuntu20.04+ 4060显卡用哪个版本的驱动

ubuntu20.04+ 4060显卡用哪个版本的驱动

1 前言

前置情况由该文章开始 

Ubuntu22.04安装OpenPcDet训练kitti数据集(nuscenes-mini数据集)

由于将显卡更换到了最新的4060 ti ,导致之前的基于cuda11.3版本的程序无法运行,显示RuntimeError: No CUDA GPUs are available 

开始还疑惑了一会,之前都能跑通的程序为啥突然不行了,后来想起来自己的显卡更新后还没正式用来跑过程序。

去python中检查发现

  1. import torch
  2. print(torch.cuda.device_count())
  3. print(torch.cuda.is_available())

 输出结果为

  1. 0
  2. False

在重新安装之前的pytorch版本后发现仍然输出为False,尝试新创一个环境安装了pytorch2.0发现

 验证了确实是因为版本问题导致的无法使用Gpu,于是尝试更新cuda、cudnn和pytorch的版本

2 安装步骤

2.1 安装cuda

2.1.1 下载cuda11.8

 cuda官网:CUDA Toolkit Archive | NVIDIA Developer

其中安装指令为:

  1. wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
  2. sudo sh cuda_11.8.0_520.61.05_linux.run

如果用官网下载太慢的话,可以直接在浏览器复制网页,然后通过自己的下载器进行下载后再传输cuda_11.8.0_520.61.05_linux.run到所用的服务器上。

安装过程中,首先输入accept,取消勾选Driver(已经安装了驱动),选择Install,回车

安装完后如图:

2.1.2 环境配置 

 一定要记得配置环境!

首先用vim查看环境配置文件

vim ~/.bashrc

在最后添加如下几行(注意请根据实际情况修改,你可以查看/usr/loacl目录下cuda的文件名是什么)

  1. export PATH="$PATH:/usr/local/cuda-11.8/bin"
  2. export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64"
  3. export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda-11.8/lib64"

 刷新环境变量

source ~/.bashrc

 可以通过nvcc -V来查看cuda版本

2.2 安装cudnn

cudnn的安装比较简单,只需要下载对应版本的安装包,拷贝文件到指定目录,给予权限即可

CUDNN官网:https://developer.nvidia.com/cudnn

下载会得到cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz,将其转置要搭载的环境内进行解压

tar -xvf cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz 

然后拷贝文件+授予权限

  1. cd cudnn-linux-x86_64-8.8.1.3_cuda11-archive/
  2. sudo cp include/cudnn*.h /usr/local/cuda-11.8/include
  3. sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64
  4. sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h
  5. sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn*

查看cudnn版本:

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

执行该指令可能没有结果,因为新版本可能更改了位置,可以用:

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

查看到版本为cudnn8.8.1即为安装完成 

2.3 安装对应的pytorch

Pytorch官网:https://pytorch.org/get-started/locally/

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

2.4 安装稀疏卷积库

由于之前装的是spconv-cu113,所以需要卸载重装对应11.8版本的

 稀疏卷积库官网:https://github.com/traveller59/spconv

  1. pip uninstall spconv-cu113
  2. pip uninstall spconv-cu118

3 调试

我们再次回到python,查看此时torch.cuda.is_available()是否为True

在运行dome.py时出现报错:

1、ImportError: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory

a、先检查环境中是否存在libtorch_cuda_cu.so文件:

文件应该存在的路径:
anaconda3/envs/环境名称/lib/python3.8/site-packages/torch/lib

b、若存在,说明是查找文件路径出现错误,则需要修改代码;

c、若不存在,应该是 因为cuda、cudnnpytorch都进行了重装,一些文件需要重新编译,所以.so文件不存在,于是:

 cdOpenPCDet文件下来运行编译

  1. cd OpenPCDet
  2. python setup.py develop

当以为解决问题了,再次运行没有报文件不存在,结果:

2、ImportError: cannot import name 'COMMON_SAFE_ASCII_CHARACTERS' from 'charset_normalizer.constant' 

这个可能是由于charset_normalizer模块的版本问题引起的。尝试更新charset_normalizer模块到最新版本,或者使用较旧的版本,看看是否可以解决问题。您可以尝试以下命令更新模块:

pip install --upgrade charset-normalizer

如果仍然无法解决问题,请尝试卸载charset_normalizer模块,然后重新安装:

  1. pip uninstall charset-normalizer
  2. pip install charset-normalizer

3、NameError: name 'torch_scatter' is not defined

似乎模块或变量 torch_scatter 在脚本中没有被导入或不可访问

可以在代码前加上

import torch_scatter

或者是没有安装,则:

pip install torch-scatter

4 结语

在解决完这些出现的问题后,再次运行demo.py已经可以正常运行了,结果换了个新显卡搞出这么一堆问题,版本适配还是很重要的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/978183
推荐阅读
相关标签
  

闽ICP备14008679号