OpenPcDet Ubuntu20.04 由于更换4060 ti显卡需要切换cuda11.8版本

1 前言

前置情况由该文章开始 

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

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

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

去python中检查发现

import torch
print(torch.cuda.device_count())
print(torch.cuda.is_available())

 输出结果为

0
False

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

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

2 安装步骤

2.1 安装cuda

2.1.1 下载cuda11.8

 cuda官网:CUDA Toolkit Archive | NVIDIA Developer

其中安装指令为:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
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的文件名是什么)

export PATH="$PATH:/usr/local/cuda-11.8/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64"
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 

然后拷贝文件+授予权限

cd cudnn-linux-x86_64-8.8.1.3_cuda11-archive/
sudo cp include/cudnn*.h /usr/local/cuda-11.8/include
sudo cp lib/libcudnn* /usr/local/cuda-11.8/lib64
sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*.h 
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

pip uninstall spconv-cu113

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文件下来运行编译

cd OpenPCDet
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模块,然后重新安装:

pip uninstall charset-normalizer
pip install charset-normalizer

3、NameError: name 'torch_scatter' is not defined

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

可以在代码前加上

import torch_scatter

或者是没有安装,则:

pip install torch-scatter

4 结语

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Ubuntu 20.04下更换CUDA 10.2,您可以按照以下步骤进行操作: 1. 首先,如果您已经安装了旧版本CUDA,请确保将其完全卸载。可以使用以下命令进行卸载: ``` sudo apt-get purge nvidia* ``` 2. 接下来,您需要下载CUDA 10.2的安装包。您可以在NVIDIA官方网站上找到CUDA Toolkit下载页面(https://developer.nvidia.com/cuda-toolkit-archive)。 在下载页面中,选择适合您系统的CUDA Toolkit安装包,例如在Ubuntu 20.04上选择Linux-x86_64 deb (network)版本。 3. 下载完成后,打开终端并导航到存放CUDA安装包的目录。然后运行以下命令进行安装: ``` sudo dpkg -i cuda-repo-ubuntu2004-10-2-local_10.2.89-1_amd64.deb sudo apt-key add /var/cuda-repo-10-2-local/7fa2af80.pub sudo apt-get update sudo apt-get install cuda ``` 4. 安装过程可能需要一些时间,请耐心等待。 5. 安装完成后,您需要CUDA路径添加到系统环境变量中。打开终端并编辑 ~/.bashrc 文件: ``` nano ~/.bashrc ``` 在文件末尾添加以下行: ``` export PATH=/usr/local/cuda-10.2/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH ``` 保存并关闭文件。 6. 最后,刷新环境变量使其生效: ``` source ~/.bashrc ``` 现在,您应该已经成功将CUDA版本更换为10.2。您可以使用以下命令检查CUDA版本: ``` nvcc --version ``` 希望这能帮到您!如果您有任何更多的问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值