TensorRT部署--Linux(Ubuntu)环境配置

系列文章目录

TensorRT环境配置–Linux(Ubuntu)


文章目录

  • 系列文章目录
  • 前言
  • 一、环境配置
  • 二、CUDA下载安装
  • 三、cuDNN下载安装
  • 四、TensorRT下载安装
  • 五、模型创建
  • 总结


前言

TensorRT部署-Windows环境配置: https://blog.csdn.net/m0_70420861/article/details/135658922?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135658922%22%2C%22source%22%3A%22m0_70420861%22%7D


一、环境配置

如果还未配置环境的话,nvidia-smi是不会显示的。
在这里插入图片描述
以CUDA-BEVFusion部署为例搭建环境:

https://github.com/NVIDIA-AI-IOT/Lidar_AI_Solution/tree/master/CUDA-BEVFusion

在这里插入图片描述

查看兼容性:https://docs.nvidia.com/deeplearning/tensorrt/release-notes/index.html#rel-8-6-1

在这里插入图片描述
查看Ubuntu版本

lsb_release -a

在这里插入图片描述

确定各个版本:
CUDA:11.6
cuDNN: 8.6.0
TensorRT:8.6.1.6
Ubuntu:18.04

二、CUDA下载安装

安装前先查询一下系统里是否已经安装cuda

ll /usr/local

下载地址:https://developer.nvidia.com/cuda-11-6-0-download-archive?target_os=Linux
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
sudo sh cuda_11.6.0_510.39.01_linux.run

在这里插入图片描述
安装 CUDA 时出现 “Failed to verify gcc version” 错误通常是由于系统上没有正确配置或安装 GCC。CUDA 要求必须有一个完整的 C/C++ 开发环境,包括 GCC 和 G++ 等编译器。
在这里插入图片描述
安装一下即可:

sudo apt install gcc
sudo sh cuda_11.6.0_510.39.01_linux.run

在这里插入图片描述

accpct之后
在这里插入图片描述
有driver的可以不安装,就是nvidia-smi能显示的说明有driver
在这里插入图片描述
其他的都可以不要
在这里插入图片描述
如果自己另外安装驱动的话,可以参考博文https://zhuanlan.zhihu.com/p/641730069

三、cuDNN下载安装

下载地址:https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述
打开cuDNN安装教程: https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
在这里插入图片描述

四、TensorRT下载安装

下载安装TensorRT linux版本
TensorRT下载安装地址:https://developer.nvidia.com/nvidia-tensorrt-8x-download
在这里插入图片描述

cd TensorRT-8.6.1.6
source ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:TensorRT-8.6.1.6/include
source ~/.bashrc

测试是否成功:

cd TensorRT-8.6.1.6/samples/sampleOnnxMNIST
make

在这里插入图片描述

cd TensorRT-8.6.1.6/bin/
./sample_onnx_mnist

如果出现
在这里插入图片描述

这个错误提示表明程序找不到libnvinfer.so.8动态链接库文件。需要将该库文件所在的路径添加到LD_LIBRARY_PATH环境变量中,使得程序能够正确加载该库文件。

首先,需要找到libnvinfer.so.8文件所在的路径。可以使用以下命令来查找:

sudo find / -name libnvinfer.so.8

一旦找到该文件的路径,你可以将其添加到LD_LIBRARY_PATH中,方法如下:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:路径
sudo ldconfig

比如:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/TensorRT-8.6.1.6/targets/x86_64-linux-gnu/lib
sudo ldconfig
./sample_onnx_mnist

就成功了!!!
在这里插入图片描述

关于环境配置:推荐博客https://blog.csdn.net/Msjiangmei/article/details/132585145

五、模型创建

TensorRT C++ 代码解析可参考:https://blog.csdn.net/m0_70420861/article/details/135574423

删除所有生成的目标文件、中间文件和可执行文件,以便重新构建项目

make clean

在这里插入图片描述

make -j64是一个make命令的参数,它指定了在编译过程中同时运行的任务数量。其中,"-j"表示并行处理的意思,"64"表示任务的最大数量。加快编译速度

make -j64

总结

TensorRT部署-Windows环境配置: https://blog.csdn.net/m0_70420861/article/details/135658922?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135658922%22%2C%22source%22%3A%22m0_70420861%22%7D

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

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

相关文章

还在为git分支回滚发愁吗??一文了解git分支回滚操作全流程!!

在Git中进行分支回滚通常意味着将分支上的头指针(HEAD)移动到旧的提交上。这可以通过几种不同的命令完成,包括git reset和git revert。下面将解释这两种方法。 远程分支的回滚包含以下几步: 第一步:本地回滚 首先&am…

深入了解WPF控件:常用属性与用法(六)

掌握WPF控件:熟练常用属性(六) ListView 用于展示数据项集合的列表控件。它提供了丰富的功能和灵活的定制性,可以轻松地展示和编辑大量的数据。 常用属性描述ItemsSource用于设置ListView的数据源。可以是一个集合、数组或列表…

开发安全之:System Information Leak: External

Overview 在调用 error_reporting() 过程中,程序可能会显示系统数据或调试信息。由 error_reporting() 揭示的信息有助于攻击者制定攻击计划。 Details 当系统数据或调试信息通过套接字或网络连接使程序流向远程机器时,就会发生外部信息泄露。 示例 1…

透明拼接屏代工:专业制造与质量保证

透明拼接屏代工是指专业的代工厂家根据客户的需求,为其生产透明拼接屏产品。随着透明拼接屏市场的不断扩大,越来越多的企业选择通过代工方式快速进入市场。尼伽小编将深入探讨透明拼接屏代工的优势、选择合适的代工厂家以及质量保证等方面的内容。 一、透…

深度学习记录--指数加权平均

指数加权移动平均(exponentially weighted moving averages) 如何对杂乱的数据进行拟合? 通过指数加权平均可以把数据图近似拟合成一条曲线 公式: 其中表示第t个平均数,表示第t-1个平均数,表示第t个数据,表示变化参数…

【测试入门】测试用例经典设计方法 —— 因果图法

01、因果图设计测试用例的步骤 1、分析需求 阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分。这样做的好处是,不必在一次处理过程中考虑所有的原因。没有固定的流程说明究竟分解到何种程度才算简单,需要测试…

IP2325 5V输入双节串联锂电池升压充电IC 英集芯参数

简介 IP2325是一款支持双节串联锂电池/锂离子电 池的升压充电管理IC。 IP2325集成功率MOS,采用同步开关架构, 使其在应用时仅需极少的外围器件,并有效减小整 体方案的尺寸,降低BOM成本。 IP2325的升压开关充电转换器工作频率500K…

免费的WordPress插件大全

在当今数字化的时代,拥有一个强大的在线存在变得至关重要。而对于使用WordPress建站的用户来说,插件是提高网站功能的关键。在这篇文章中,我们将为您推荐三款免费的WordPress插件,它们不仅是147SEO软件中的佼佼者,而且…

《WebKit 技术内幕》学习之五(3): HTML解释器和DOM 模型

3 DOM的事件机制 基于 WebKit 的浏览器事件处理过程:首先检测事件发生处的元素有无监听者,如果网页的相关节点注册了事件的监听者则浏览器会将事件派发给 WebKit 内核来处理。另外浏览器可能也需要处理这样的事件(浏览器对于有些事件必须响应…

makefile 编译动态链接库使用(.so库文件)

makefile 编译动态链接库使用(.so库文件) 动态链接库:不会把代码编译到二进制文件中,而是在运行时才去加载, 好处是程序可以和库文件分离,可以分别发版,然后库文件可以被多处共享 动态链接库 动态&#…

vue3项目eslint配置、配置prettier(格式化配置)

文章链接: 全部配置链接 第一步:eslint配置、配置prettier(代码格式化):点击链接 (1) .eslint.cjs—eslint配置文件 (2).eslintignore—校验忽略文件 (3).prettierrc.json添加规则 (4).prettierignore忽略文件 prettierrc规范说明: npm install -D eslint-plugin-import…

gdip-yolo项目解读:gdip模块 |mdgip模块 |GDIP regularizer模块的使用分析

gdip-yolo是2022年提出了一个端到端的图像自适应目标检测框架,其论文中的效果展示了良好的图像增强效果。其提出了gdip模块 |mdgip模块 |GDIP regularizer模块等模块,并表明这是效果提升的关键。为此对gdip-yolo的项目进行深入分析。 gdip-yolo的论文可以…

第15届蓝桥杯嵌入式省赛准备第三天总结笔记(使用STM32cubeMX创建hal库工程+串口接收发送)

因为我是自己搞得板子,原本的下程序和串口1有问题,所以我用的是串口2,用的PA2和PA3 一,使用CubeMX配置串口 选择A开头的这个是异步通信。 配置串口参数,往届的题基本用的9600波特率,所以我这里设置为9600…

C++——结构体

1,结构体基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。像int(整型),浮点型,bool型,字符串型等都是属于系统内置的数据类型。而今天要学习的结构体则是属于我们自定义…

导出 MySQL 数据库表结构、数据字典word设计文档

一、第一种 :利用sql语句查询 需要说明的是该方法应该适用很多工具,博主用的是navicat SELECT TABLE_NAME 表名,( i : i 1 ) AS 序号,COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE…

Git error: RPC failed; result=22, HTTP code = 404 解决方法

文章目录 Git error: RPC failed; result22, HTTP code 404 解决方法 Git error: RPC failed; result22, HTTP code 404 解决方法 造成这种情况可能有很多原因,比如可以设置http.postBuffer大一点,也或者是git版本的问题,不过我的解决方法…

Linux: dev: glibc: 里面有很多的关于系统调用的函数

其实都没有实体源代码klogctl.c,而是通过编译时构造出来的源代码实体,比如klogctl这个函数,glibc的反汇编如下: 直接是0x67这个系统调用:103: Reading symbols from /usr/lib64/libc-2.28.so... (No debugg…

【C++】入门(一)

前言&#xff1a; 本篇博客将带大家认识C&#xff0c;熟悉基本语法 文章目录 认识CC的诞生与发展C 在行业中的运用 一、命名空间1.1 命名空间的定义1.2 命名空间的使用1.3 命名空间的访问 二、C输入&输出输出操作符 <<输入操作符 >>换行符和刷新输出缓冲区关键…

openssl3.2/test/certs - 006 - trust variants: +anyEKU -anyEKU

文章目录 openssl3.2/test/certs - 006 - trust variants: anyEKU -anyEKU概述笔记END openssl3.2/test/certs - 006 - trust variants: anyEKU -anyEKU 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 // \file my_openssl_win_log_doc_006.txt // openssl3.2/test/…

跟着我学Python进阶篇:03. 面向对象(下)

往期文章 跟着我学Python基础篇&#xff1a;01.初露端倪 跟着我学Python基础篇&#xff1a;02.数字与字符串编程 跟着我学Python基础篇&#xff1a;03.选择结构 跟着我学Python基础篇&#xff1a;04.循环 跟着我学Python基础篇&#xff1a;05.函数 跟着我学Python基础篇&#…