Ubuntu20.04安装Nvidia显卡驱动、CUDA11.3、CUDNN、TensorRT、Anaconda、ROS/ROS2

1.更换国内源

打开终端,输入指令:

bash 复制代码
wget http://fishros.com/install -O fishros && . fishros

选择【5】更换系统源,后面还有一个要输入的选项,选择【0】退出,就会自动换源。

2.安装NVIDIA驱动

这一步最痛心了家人们,网上的教程太多了,我总是想着离线安装,每次安装都无法开机,要不就卡在锁屏界面,要不就黑屏,要不就卡在snaped界面,重装系统装了七八次终于成功了!

1.点击左下角那9个点,找到软件更新,点击。
2.找到附加驱动,选择一个你需要的nvidia driver版本

注意:安装的版本号后面是没有东西的,不要选择 "-server" 或者 "-open"

然后重启电脑,输入nvidia-smi , 就可以看到显卡驱动安装成功。

3.安装CUDA

下载地址:

CUDA Toolkit Archive | NVIDIA DeveloperPrevious releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production drivers appropriate for your hardware configuration.https://developer.nvidia.com/cuda-toolkit-archive

这里我下载的是CUDA11.3.1,下载命令如下:

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
安装CUDA:
bash 复制代码
sudo bash cuda_11.3.1_465.19.01_linux.run --override

(1)他会问你已经有了一个nvidia驱动,是否继续,点击continue.

(2)输入accept

(3)进入CUDA_Installer界面,按上下箭头,选择 Driver那一项,回车取消勾选(因为我们刚才已经安装driver了,安装cuda默认会再安装一遍,这里我们就不需要了)。然后移动到 install,回车继续安装。

安装完成后,会有一个summary如下图,这个界面不要动,重新打开一个终端:

(4)在新终端输入

bash 复制代码
sudo gedit ~/.bashrc

在文件最下面加入两句话,这两个路径就是上面summary里面的,直接复制过来就可以:

bash 复制代码
export PATH="/usr/local/cuda-11.3/bin$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH"

(5)执行命令 source ~/.bashrc ,然后输入 nvcc -V ,就可以看到cuda 的版本了。

4.安装CUDNN

下载地址

https://developer.nvidia.com/rdp/cudnn-archivehttps://developer.nvidia.com/rdp/cudnn-archive

安装:

解压后将相关文件复制到usr/local/cuda-11

bash 复制代码
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.3/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn.h 
sudo chmod a+r /usr/local/cuda-11.3/lib64/libcudnn*

5.安装Anaconda

下载:

Free Download | AnacondaAnaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.https://www.anaconda.com/download#downloads

安装:
bash 复制代码
sudo bash Anaconda_xxx.sh

安装过程注意事项:

(1)安装位置不要默认的root,因为会有权限问题,可以选择安装在/home目录下,记住这个安装目录,下面要用。

(2)安装完成后,会问你是否要自启动anaconda,直接回车就好(默认是no),因为我们要anaconda和ROS环境共存

(3)再次编辑bashrc文件

bash 复制代码
sudo gedit ~/.bashrc

在最后加入这样一句话,请替换为上面的anaconda3的安装目录:

bash 复制代码
alias setconda='. /home/anaconda3/bin/activate'

然后保存退出,在终端重新source一下: source ~/.bashrc

(4) 然后每次想用anaconda的时候,直接在终端输入"setconda",就可以切换到(base)环境。

6.安装TensorRT

下载:

Log in | NVIDIA Developerhttps://developer.nvidia.com/tensorrt-download

安装:

(1) 解压压缩包:

bash 复制代码
tar -zxvf TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz

(2)进入虚拟anaconda虚拟环境,这里我的环境名称是py39

bash 复制代码
setconda
conda activate py39

(3) 安装依赖

bash 复制代码
pip install 'pycuda<2021.1'
pip install onnxruntime-gpu==1.11

onnxruntime-gpu和CUDA版本的对应关系为:

NVIDIA - CUDA | onnxruntimeInstructions to execute ONNX Runtime applications with CUDAhttps://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html

(4) 配置环境

bash 复制代码
sudo gedit ~/.bashrc
 
# 末尾添加以下两条路径,需根据解压的实际路径
export LD_LIBRARY_PATH=$PATH:/home/hhh/TensorRT-8.2.5.1/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=$PATH:/home/hhh/TensorRT-8.2.5.1/lib::$LIBRARY_PATH
 
# 重新source一下
source ~/.bashrc

(5)安装TensorRT

bash 复制代码
cd TensorRT-8.2.5.1/python
# 按tab补全的时候到cp3就停了,我的python版本是3.9,所以我输入cp39再按tab补全
pip install tensorrt-8.2.5.1-cp39-none-linux_x86_64.whl 
 
# 安装依赖
cd TensorRT-8.2.5.1/graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl

7.安装ROS

打开终端,输入指令:

bash 复制代码
wget http://fishros.com/install -O fishros && . fishros

选择【1】安装ROS

安装好后,可以看到ROS和anaconda都可以使用:

8.参考

《conda和ros环境共存方法》

《【ubuntu环境配置】超详细ubuntu20.04/22.04安装nvidia驱动/CUDA/cudnn》

《TensorRT学习笔记--Ubuntu20.04安装TensorRT 8.2.5》

《Ubuntu20.04 显卡驱动、cuda安装》

《Ubuntu20.04LTS系统CUDA已经安装但nvcc -V显示command not found》

相关推荐
凛铄linshuo11 分钟前
爬虫简单实操2——以贴吧为例爬取“某吧”前10页的网页代码
爬虫·python·学习
牛客企业服务13 分钟前
2025年AI面试推荐榜单,数字化招聘转型优选
人工智能·python·算法·面试·职场和发展·金融·求职招聘
charlie11451419125 分钟前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析
胡斌附体26 分钟前
linux测试端口是否可被外部访问
linux·运维·服务器·python·测试·端口测试·临时服务器
likeGhee1 小时前
python缓存装饰器实现方案
开发语言·python·缓存
whoarethenext1 小时前
使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
开发语言·c++·faiss
项目題供诗1 小时前
黑马python(二十五)
开发语言·python
读书点滴1 小时前
笨方法学python -练习14
java·前端·python
慌糖2 小时前
RabbitMQ:消息队列的轻量级王者
开发语言·javascript·ecmascript
笑衬人心。2 小时前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu