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

系列文章目录

TensorRT环境配置–Linux(Ubuntu)


文章目录

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


前言

TensorRT部署-Windows环境配置: https://blog.csdn.net/m0_70420861/article/details/135658922?spm=1001.2014.3001.5502


一、环境配置

如果还未配置环境的话,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
在这里插入图片描述

要将环境变量永久添加到 ~/.bashrc 或 ~/.bash_profile 文件中可以使用以下方法(推荐)

vi ~/.bashrc

编辑.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

就成功了!!!
在这里插入图片描述
注意安装 TensorRT Python 包是使用 TensorRT 的关键步骤之一
可以用以下命令进行安装

pip install tensorrt

这个快一点

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorrt

在这里插入图片描述
安装好之后python就可以导入tensorrt模块,没安装的话会显示模块未找到。
在这里插入图片描述

关于环境配置:推荐博客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?spm=1001.2014.3001.5502

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java面试提纲

JDK 1 jdk1.8版本后的新特性有哪些? Java Development Kit (JDK) 1.8(也称为Java 8)在2014年3月发布,引入了许多重要的新特性,以下是其中的一些关键特性: Lambda表达式: Java 8引入了lambda表达式&#x…

给2024年还想要成为网络工程师的朋友的一份学习福利

网工最新薪资情况 据统计,普通网络工程师的工资通常在5000元以上;专业领域的网络工程师,如网络存储或网络安全工程师,以及管理层,收入会更高,他们的年薪可以在15万元左右;网络工程师的薪酬分布…

常用通信总线学习——RS232与RS485

RS232概述 RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一,它是由美国电子工业协会(Electronic Industry Association,EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定,其全…

鸿蒙开发-UI-组件

鸿蒙开发-UI-布局 鸿蒙开发-UI-布局-线性布局 鸿蒙开发-UI-布局-层叠布局 鸿蒙开发-UI-布局-弹性布局 鸿蒙开发-UI-布局-相对布局 鸿蒙开发-UI-布局-格栅布局 鸿蒙开发-UI-布局-列表 ​​​​​​鸿蒙开发-UI-布局-网格 鸿蒙开发-UI-布局-轮播 文章目录 前言 一、按钮 1.创建…

【AndroidStudio】2022.3Giraffe连接超时,更换下载源,使用本地gradle,版本对应问题

记录了使用AndroidStudio2022.3 Giraffe版本在搭建环境时遇到的问题,包括连接超时,gradle无法读取等。 如果只看如何正确的配置,直接跳转第3节 配置汇总 1 连接超时 项目一开始会自动下载gardle文件来加载项目 1.1 Connect timed out 基…

智能语音识别源码系统+语义理解+对话管理+语音合成 带完整的搭建教程

人工智能技术的不断发展,智能语音识别技术逐渐成为人们日常生活和工作中不可或缺的一部分。然而,目前市场上的智能语音识别产品大多存在一定的局限性,如识别率不高、功能单一等。为了解决这些问题,罗峰给大家分享一款基于智能语音…

学生护眼灯哪个品牌好?最好的学生护眼灯品牌排行

说到台灯,相信大家都不陌生,特别是对于家中有学生的家长们而言,一款优秀的护眼台灯已经成为居家必备的工具之一。然而,随着各种护眼台灯层出不穷,价格从几百到上千不等,人们对于这一领域的产品是否物有所值…

Shell脚本④循环语句for、while、until

目录 一.for 1. 九九乘法表 2.求1到10奇数和 3.累计加到100 (1)方法一 (2)方法2 二.while 1.猜价格小游戏 2.累加到100的方法三 三.until循环 1.累加到100方法四 四.嵌套循环 五.循环语句中break、exit和continue 1…

深入了解Python游戏开发模块:pyglet

目录 一、引言 二、pyglet简介 三、pyglet的功能与特点 四、如何使用pyglet开发游戏 五、与其他游戏开发框架的比较 六、结论 一、引言 在Python中,pyglet是一个强大的游戏开发模块,它提供了创建2D和3D游戏所需的各种工具。pyglet使用OpenGL作为其…

叩开c++的大门

目录 1. 什么是c? 2. c的发展史 3. c和c语言的区别是什么呢? 4. 接下来让我们正式进入c的学习吧。 4.1 c的关键字 4.2 命名空间 4.2.1 命名空间的定义 4.2.2 命名空间的使用 4.3 c的输入输出 std命名空间的使用惯例std是C标准库的命名空间&…

新年的故事,独具魅力的新年传说

新年的故事,独具魅力的新年传说 新年,是我们每年都期盼的时刻。在这个喜庆的日子里,人们互相祝福、共享快乐,以满怀希望的心情迎接未来的到来。新年不仅仅是一个节日,它背后浓厚的文化积淀和故事也让人无比着迷。让我…

【二分查找】LC习题看这一篇就够了!

二分查找(灵神笔记) 模版 红蓝染色法 原始问题:返回有序数组中第一个≥8的数的位置 如果每个数都<8 返回数组长度 闭区间 def lower_bound(nums: List[int], target: int) -> int:left 0right len(nums) - 1while left &…

小型洗衣机哪个好?小型洗衣机全自动推荐

在近年以来,由于人们对健康的认识和生活质量的不断改善,使得内衣洗衣机这一类的产品在近年来得到了飞速的发展,洗烘一体机、洗烘套装的价格总体下降,功能和性能都得到了改善,往往更多的用户会选择一台或者多台洗衣机来…

HarmonyOS ArkTS Toggle基本使用(十七)

组件提供勾选框样式、状态按钮样式及开关样式。 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅当ToggleType为Button时可包含子组件。 接口 Toggle(options: { type: ToggleType, isOn?: boolean }) …

C++ 程序使用 OpenCV 库来创建一个图像金字塔,然后将这些图像合并成一张大图

文章目录 源码文件功能解读编译文件 源码文件 #include <iostream> #include <vector> #include <string> #include <opencv2/opencv.hpp>int main() {// 这里应该有代码来生成或加载一系列图像到 imagePyramidstd::vector<cv::Mat> imagePyram…

电子行业含砷废水,深度除砷技术

砷是一种类金属元素&#xff0c;砷化物生物毒性极强&#xff0c;是国际公认的第一类致癌物。因此&#xff0c;这些含砷废水必须经过一定的处理才能排放到环境中。那么&#xff0c;哪些行业会产生含砷废水呢?在地球上&#xff0c;砷是一种常见的元素。在自然界中&#xff0c;砷…

【格密码基础】基于LWE问题的密码系统

目录 一. 介绍 二. LWE密码方案简单介绍 三. LWE经典归约 四. LWE性质 五. LWE的鲁棒性 一. 介绍 在2005年&#xff0c;Regev基于LWE问题提出了一个新的公钥密码方案。该方案可实现语义安全&#xff08;semantic security&#xff09;&#xff0c;其中误差率&#xff08;…

Google Chrome RCE漏洞 CVE-2020-6507 和 CVE-2024-0517的简单分析

本文深入研究了两个在 Google Chrome 的 V8 JavaScript 引擎中发现的漏洞&#xff0c;分别是 CVE-2020-6507 和 CVE-2024-0517。这两个漏洞都涉及 V8 引擎的堆损坏问题&#xff0c;允许远程代码执行。通过EXP HTML部分的内存操作、垃圾回收等流程方式实施利用攻击。 CVE-2020-…

256:vue+openlayers利用高德逆地理编码,点击地图,弹出某点坐标和地址信息

第256个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中利用高德逆地理编码,点击地图,弹出某点坐标和地址信息。这里要仔细阅读高德地图的逆编码API,同时要注意的是,这种转换在中国很好用,到了欧美国家就不好使了。 直接复制下面的 vue+openlayers源代码…

基于SSM的蛋糕甜品店管理系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的蛋糕甜品店管理系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring…