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

1.更换国内源

打开终端,输入指令:

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.icon-default.png?t=N7T8https://developer.nvidia.com/cuda-toolkit-archive

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

wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run

安装CUDA:
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)在新终端输入

sudo gedit ~/.bashrc

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

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-archiveicon-default.png?t=N7T8https://developer.nvidia.com/rdp/cudnn-archive

 

安装:

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

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.icon-default.png?t=N7T8https://www.anaconda.com/download#downloads

 安装:
sudo bash Anaconda_xxx.sh

安装过程注意事项:

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

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

 (3)再次编辑bashrc文件

sudo gedit ~/.bashrc

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

alias setconda='. /home/anaconda3/bin/activate'

 

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

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

 

6.安装TensorRT

下载:

Log in | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/tensorrt-download

安装:

 (1) 解压压缩包:

tar -zxvf TensorRT-8.2.5.1.Linux.x86_64-gnu.cuda-11.4.cudnn8.2.tar.gz

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

setconda
conda activate py39

(3) 安装依赖

pip install 'pycuda<2021.1'
pip install onnxruntime-gpu==1.11

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

NVIDIA - CUDA | onnxruntimeInstructions to execute ONNX Runtime applications with CUDAicon-default.png?t=N7T8https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html 

(4) 配置环境

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

(5)安装TensorRT

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

 打开终端,输入指令:

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》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/133516.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python stomp 发送消息无法显示文本

我们向消息服务器通过 stomp 发送的是文本消息。 当消息服务器发送成功后&#xff0c;消息服务器上的文本没有显示&#xff0c;显示的是 2 进制的数据。 如上图&#xff0c;消息没有作为文本来显示。 问题和解决 消息服务器是如何判断发送的小时是文本还是二进制的。 根据官…

uniapp微信小程序地图实现周边

官方说明&#xff1a;小程序JavascriptSDK使用指南 - 微信小程序解决方案 | 腾讯位置服务https://lbs.qq.com/product/miniapp/jssdk/ 先申请腾讯地图的开发者密钥&#xff0c;申请地址&#xff1a;腾讯位置服务 - 立足生态&#xff0c;连接未来 申请密钥时&#xff0c;需要勾…

Keepalived 高可用(附带配置实例,联动Nginx和LVS)

Keepalived 一、Keepalived相关知识点概述1.1 单服务的风险&#xff08;单点故障问题&#xff09;1.2 一个合格的集群应该具备的特性1.3 VRRP虚拟路由冗余协议1.4 健康检查1.5 ”脑裂“现象 二、Keepalived2.1 Keepalived是什么&#xff1f;2.2 Keepalived体系主要模块及其作用…

HBASE知识点

HBASE是什么&#xff1f; 高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库。利用HDFS作为其文件存储系统&#xff0c;利用MapReduce来处理HBase中的海量数据。利用Zookeeper作为其分布式协同服务。用于存储非结构化和半结构化的松散数据。 HBase数据模型 RowKey: 唯…

[maven] scopes 管理 profile 测试覆盖率

[maven] scopes & 管理 & profile & 测试覆盖率 这里将一些其他的特性和测试覆盖率&#xff08;主要是 jacoco&#xff09; scopes maven 的 scope 主要就是用来限制和管理依赖的传递性&#xff0c;简单的说就是&#xff0c;每一个 scope 都有其对应的特性&…

解决IDEA actiBPM插件之.bpmn文件中文乱码

1、修改IDEA编辑器编码为utf8&#xff0c;File->Settings->Editor->File Encodings&#xff0c;都改为UTF-8 2、在IDEA安装bin目录下&#xff0c;找到 idea.exe.vmoptions 和 idea64.exe.vmoptions 两个文件&#xff0c;打开编辑分别在文本最末端添加下面代码&#xf…

⑩ vue新特性

ref 或者reactive ref相当于data methods props和context props &#xff01;&#xff01;&#xff01;setup中没有this关键字&#xff0c;使用context&#xff08;简写&#xff1a;ctx&#xff09;就是this 在steup中使用生命周期函数 Provide / Inject 1、原来是 a传…

VS2015+opencv 3.4.6开发环境

VS2015+opencv 3.4.6开发环境 一、安装包下载二、安装过程三、VS环境配置四、测试一、安装包下载 这里提供两种下载方法:   1. opencv官网   2. csdn资源下载 二、安装过程 2.1 下载opencv-3.4.6 安装包 2.2 双击开始安装,选择要安装目录,点击Extract。  2.3 等待解…

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则间隔数据插值实现时间序列数据扩充(更新中)

【MATLAB第75期】#源码分享 | 基于MATLAB的不规则间隔数据插值实现时间序列数据扩充 代码 %% 清空环境变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear % 清空变量 clc % 清空命令行%%…

批量多字段唯一性校验

批量多字段唯一性校验 思路&#xff1a; 查询列表本身是否含有重复数据新增修改分开考虑&#xff0c;新增只考虑数据库中是否有相同数据&#xff0c;修改不仅要考虑数据库中是否有相同数据&#xff0c;还要排除自身。由于是批量校验&#xff0c;排除自身只需考虑所有修改操作…

[当人工智能遇上安全] 9.基于API序列和深度学习的恶意家族分类实例详解

您或许知道&#xff0c;作者后续分享网络安全的文章会越来越少。但如果您想学习人工智能和安全结合的应用&#xff0c;您就有福利了&#xff0c;作者将重新打造一个《当人工智能遇上安全》系列博客&#xff0c;详细介绍人工智能与安全相关的论文、实践&#xff0c;并分享各种案…

线程同步互斥锁

共用三个函数&#xff1a; mutex_lock() mutex_unlock() mutex_trylock() pthread_mutex_lock给安卓上层使用&#xff0c;mutex_lock给kernel使用&#xff0c;本质是一样的&#xff0c;都是IPC通信中的互斥锁&#xff0c;只不过安卓上层封装出pthread_mutex_lock。 pthr…

安装深度(Deepin)系统

Deepin系统安装 Deepin是和Ubuntu一样&#xff0c;是一个基于Debian的Linux的发型版本。 Deepin相对于Ubuntu&#xff0c;Deepin更适合中国用户的使用习惯。 一 官网工具制作启动盘 制作启动盘、和安装系统&#xff0c;操作非常简单&#xff0c;nice&#xff01; 官网提供了…

Postman使用_参数设置和获取

文章目录 参数引用内置动态参数手动添加参数脚本设置参数脚本获取参数 参数就像变量一样&#xff0c;它可以是固定的值&#xff0c;也可以是变化的值&#xff0c;比如&#xff1a;会根据一些条件或其他参数进行变化。我们如果要使用该参数就需要引用它。 参数引用 引用动态参数…

SpringBoot-接口幂等性

幂等 幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 幂等函数或幂等方法是指可以使用相同参数重复执行&#xff0c;并能获得相同结果的函数。这些函数不会影响系统状态&#xff0c;也不用担心重复执行会对系统造成改变。 尤其是支付、订单等与金钱挂…

基于matlab实现的弹簧振动系统模型程序(动态模型)

完整代码&#xff1a; clear all; %System data m1.0; zeta0.01; omega01.0; Dt1.0; f01.0; x00.0; dotx00.0; xmaxsqrt(x0^2(dotx0/omega0)^2)min([0.5*abs(f0)*Dt/(m*omega0) f0/omega0^2]); omegadomega0*sqrt(1-zeta^2); dt00.1*pi/omega0; nstep500; a0.70; b0.…

Codeforces Round 895 (Div. 3) A ~ F

Dashboard - Codeforces Round 895 (Div. 3) - Codeforces A 问多少次能使a 和 b相等&#xff0c;就是abs(a - b) / 2除c向上取整&#xff0c;也就是abs(a - b)除2c向上取整。 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #de…

Apache Commons Collections反序列化链分析(二)

Apache Commons是Apache开源的Java通用类项目在Java中项目中被广泛的使用&#xff0c;Apache Commons当中有一个组件叫做Apache Commons Collections&#xff0c;主要封装了Java的Collection(集合)相关类对象 通过接口实现查询&#xff0c;能获取到 ConstantTransformer、invo…

数据分享|R语言武汉流动人口趋势预测:灰色模型GM(1,1)、ARIMA时间序列、logistic逻辑回归模型...

全文链接&#xff1a;http://tecdat.cn/?p32496 人口流动与迁移&#xff0c;作为人类产生以来就存在的一种社会现象&#xff0c;伴随着人类文明的不断进步从未间断&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。 相关视频 人力资源是社会文明进步、人民富裕…

pytorch生成CAM热力图-单张图像

利用ImageNet预训练模型生成CAM热力图-单张图像 一、环境搭建二、主要代码三、结果展示 代码和图片等资源均来源于哔哩哔哩up主&#xff1a;同济子豪兄 讲解视频&#xff1a;CAM可解释性分析-算法讲解 一、环境搭建 1&#xff0c;安装所需的包 pip install numpy pandas mat…