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》

相关推荐
IVEN_9 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang10 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮10 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling10 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮14 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽14 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers