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》

相关推荐
nbsaas-boot2 小时前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
仗剑_走天涯2 小时前
基于pytorch.nn模块实现线性模型
人工智能·pytorch·python·深度学习
chao_7892 小时前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
风无雨2 小时前
GO 启动 简单服务
开发语言·后端·golang
斯普信专业组2 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
我是苏苏4 小时前
C#基础:Winform桌面开发中窗体之间的数据传递
开发语言·c#
斐波娜娜4 小时前
Maven详解
java·开发语言·maven
小码氓5 小时前
Java填充Word模板
java·开发语言·spring·word
暮鹤筠5 小时前
[C语言初阶]操作符
c语言·开发语言
chao_7896 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找