当前位置: 首页 > article >正文

Linux环境下TensorRT安装与配置全攻略

1. 环境准备与版本检查在Linux系统上部署TensorRT之前最关键的是确保基础环境兼容性。我遇到过不少开发者直接跳过版本检查导致后续各种报错这里分享几个实用命令和避坑经验。首先用nvidia-smi查看显卡驱动支持的CUDA最高版本。注意这里显示的是驱动支持的最高CUDA版本实际安装时可以选更低版本。比如我的输出显示Driver Version: 525.60.13CUDA Version: 12.0但我实际安装的是CUDA 11.8nvidia-smi接下来用nvcc -V确认当前安装的CUDA版本。如果提示命令不存在说明CUDA环境变量未配置nvcc -V检查cuDNN版本更隐蔽些需要到CUDA安装目录下查看头文件。我的CUDA装在/usr/local/cuda-11.8所以执行cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2这里有个常见坑点TensorRT对CUDA和cuDNN的版本要求极其严格。以TensorRT 8.5为例官方明确要求CUDA 11.4/11.8和cuDNN 8.3/8.5。我整理了个版本对照表TensorRT版本CUDA要求cuDNN要求8.5.x11.4/11.88.3/8.58.4.x11.4/11.68.2/8.48.2.x11.48.2如果版本不匹配轻则性能下降重则直接报错。有次我遇到libnvinfer.so加载失败的问题折腾半天发现是cuDNN版本高了0.1。2. TensorRT下载与安装到NVIDIA官网下载TensorRT时要注意选择与CUDA匹配的版本。这里有个小技巧注册开发者账号后选择Local Installer for Linux x86_64的Tar包格式比deb/rpm更灵活。下载完成后解压到自定义目录我习惯放在/opt下tar -xzvf TensorRT-8.5.1.7.Linux.x86_64-gnu.cuda-11.8.cudnn8.5.tar.gz -C /opt mv /opt/TensorRT-8.5.1.7 /opt/TensorRT配置环境变量时容易犯两个错误一是路径写错二是忘记source。建议用echo命令验证路径是否存在export TRT_HOME/opt/TensorRT export PATH$PATH:$TRT_HOME/bin export LD_LIBRARY_PATH$TRT_HOME/lib:$LD_LIBRARY_PATH # 验证路径 echo $TRT_HOME ls $TRT_HOME/lib刷新环境变量后用trtexec测试是否安装成功。看到类似下面的输出说明基础环境OKsource ~/.bashrc trtexec --version3. 编译测试与常见问题TensorRT自带的sample是验证安装的好方法但编译过程可能遇到各种问题。以sampleOnnxMNIST为例cd $TRT_HOME/samples/sampleOnnxMNIST make clean make -j$(nproc)最常见的是cuda_runtime_api.h not found错误这通常是因为CUDA软链接未建立。检查/usr/local/cuda是否存在ls -l /usr/local | grep cuda如果没有就创建软链接根据实际CUDA安装路径调整sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda另一个高频错误是libnvinfer.so找不到这是因为动态库路径未生效。可以临时指定路径测试export LD_LIBRARY_PATH$TRT_HOME/lib:$LD_LIBRARY_PATH ./sample_onnx_mnist如果看到Your ONNX model has been converted to TensorRT engine!的输出恭喜你编译成功。建议把常用库复制到系统目录避免重复配置sudo cp $TRT_HOME/lib/* /usr/lib/x86_64-linux-gnu/ sudo cp $TRT_HOME/include/* /usr/include/4. Python环境集成TensorRT的Python包需要单独安装whl文件。注意Python版本要与文件名中的cp标识匹配cd $TRT_HOME/python pip install tensorrt-8.5.1.7-cp38-none-linux_x86_64.whl配套的graphsurgeon和uff工具也建议安装cd $TRT_HOME/graphsurgeon pip install graphsurgeon-0.4.5-py2.py3-none-any.whl cd $TRT_HOME/uff pip install uff-0.6.9-py2.py3-none-any.whl验证安装时有个细节import tensorrt可能不报错但实际功能异常。建议运行完整测试import tensorrt as trt print(trt.__version__) logger trt.Logger(trt.Logger.INFO) builder trt.Builder(logger) print(Builder created:, builder)如果遇到ImportError: libnvinfer.so.8: cannot open shared object file说明动态库路径还是有问题。可以永久解决echo /opt/TensorRT/lib | sudo tee /etc/ld.so.conf.d/tensorrt.conf sudo ldconfig5. 进阶配置与优化生产环境中还需要考虑多版本共存问题。我通常用符号链接管理不同版本ln -s /opt/TensorRT-8.5.1.7 /opt/TensorRT对于Docker用户建议在基础镜像中预装所有依赖FROM nvidia/cuda:11.8.0-base COPY TensorRT-8.5.1.7 /opt/TensorRT ENV PATH /opt/TensorRT/bin:$PATH ENV LD_LIBRARY_PATH /opt/TensorRT/lib:$LD_LIBRARY_PATH性能优化方面建议开启TensoRT的FP16模式能显著提升推理速度config builder.create_builder_config() config.set_flag(trt.BuilderFlag.FP16)最后提醒一个血泪教训升级驱动前一定要备份TensorRT模型有次我升级驱动后之前生成的engine文件全部失效不得不重新转换所有模型。

相关文章:

Linux环境下TensorRT安装与配置全攻略

1. 环境准备与版本检查 在Linux系统上部署TensorRT之前,最关键的是确保基础环境兼容性。我遇到过不少开发者直接跳过版本检查导致后续各种报错,这里分享几个实用命令和避坑经验。 首先用nvidia-smi查看显卡驱动支持的CUDA最高版本。注意这里显示的是驱动…...

如何为企业级AI应用构建高效数据管道:实战解决方案提升80%内容处理效率

如何为企业级AI应用构建高效数据管道:实战解决方案提升80%内容处理效率 【免费下载链接】reader Convert any URL to an LLM-friendly input with a simple prefix https://r.jina.ai/ 项目地址: https://gitcode.com/GitHub_Trending/rea/reader Jina Reade…...

传统物流专员效率瓶颈明显,AI物流调度师正在替代

路线规划、车辆调度、在途跟踪、异常处理……传统物流专员的大量工作时间被这些重复性、高耗时的事务占据。随着运力成本上升和时效要求提高,人工调度的效率瓶颈日益突出:经验依赖强、响应速度慢、难以同时处理多变量优化。与此同时,“AI物流…...

CSS如何优化CSS加载性能_通过代码分割与压缩减少体积

关键不是压缩CSS体积,而是让浏览器尽快获取首屏所需CSS;需用media属性条件加载、动态导入非首屏样式、避免import、合理分割CSS、删除冗余选择器、谨慎内联并控制体积在2KB内。怎么让CSS不阻塞页面渲染关键不是“压缩体积”,而是让浏览器尽快…...

三分钟解决内存焦虑:Mem Reduct实时内存管理工具深度解析

三分钟解决内存焦虑:Mem Reduct实时内存管理工具深度解析 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …...

字节跳动(ByteDance)2026 OA 面经|高频题型拆解 + 速通攻略

最近刚刷完字节跳动(ByteDance / TikTok)2026 OA,一句话总结:题量稳定、难度中等偏上,但时间压力大 变体题多。字节 OA 通常在 CodeSignal 或 HackerRank 平台,标准配置是 3-4 题,70-120 分钟&…...

SGLang测试策略深度解析:构建企业级LLM应用的终极质量保障体系

SGLang测试策略深度解析:构建企业级LLM应用的终极质量保障体系 【免费下载链接】sglang SGLang is a high-performance serving framework for large language models and multimodal models. 项目地址: https://gitcode.com/GitHub_Trending/sg/sglang 在大…...

OpCore Simplify终极指南:5步轻松搞定Hackintosh配置,新手也能快速上手

OpCore Simplify终极指南:5步轻松搞定Hackintosh配置,新手也能快速上手 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为…...

PostgreSQL之Timescale-超表实战:从创建到优化的全流程指南

1. TimescaleDB超表入门:从零开始认识时序数据利器 第一次接触TimescaleDB时,我被它处理时间序列数据的能力惊艳到了。作为PostgreSQL的扩展,TimescaleDB最大的亮点就是**超表(Hypertable)**这个概念。简单来说,超表就像是一个智能…...

别让PCB变成‘电磁炸弹’:从布局到布线,一份给硬件工程师的EMI实战避坑清单

别让PCB变成‘电磁炸弹’:从布局到布线,一份给硬件工程师的EMI实战避坑清单 刚入行的硬件工程师小张最近遇到了一个棘手问题——他设计的工控主板在测试时频繁触发EMC检测设备的报警。更糟的是,产线反馈首批500块板子中有30%出现无线模块通信…...

Helpy Docker容器化部署最佳实践:快速稳定的生产环境搭建

Helpy Docker容器化部署最佳实践:快速稳定的生产环境搭建 【免费下载链接】helpy Helpy is a modern, open source helpdesk customer support application. Features include knowledgebase, community discussions and support tickets integrated with email. …...

探索AI世界:PaddleHub深度学习框架详解

探索AI世界:PaddleHub深度学习框架详解 【免费下载链接】PaddleFormers PaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleFormers PaddleHub是…...

Nginx-UI:现代化Nginx集群管理平台的技术架构与实践指南

Nginx-UI:现代化Nginx集群管理平台的技术架构与实践指南 【免费下载链接】nginx-ui Yet another WebUI for Nginx 项目地址: https://gitcode.com/gh_mirrors/ngi/nginx-ui 项目定位与技术架构 Nginx-UI是一个基于Go和Vue构建的现代化Nginx管理平台&#xf…...

Kandinsky-5.0-I2V-Lite-5s多场景落地:电商商品动图、社交头像视频、PPT动态封面

Kandinsky-5.0-I2V-Lite-5s多场景落地:电商商品动图、社交头像视频、PPT动态封面 1. 开箱即用的视频创作神器 Kandinsky-5.0-I2V-Lite-5s是一款让静态图片"活起来"的轻量级工具。只需要上传一张图片,加上简单的动作描述,就能在5秒…...

终极Pingvin Share配置优化指南:从基础设置到高级安全防护

终极Pingvin Share配置优化指南:从基础设置到高级安全防护 【免费下载链接】pingvin-share A self-hosted file sharing platform that combines lightness and beauty, perfect for seamless and efficient file sharing. 项目地址: https://gitcode.com/gh_mirr…...

如何按优先级控制 Flex 容器中子元素的截断顺序

本文详解如何通过 flex-shrink 属性实现多列 Flex 布局中子元素的渐进式、有优先级的截断行为——即让指定元素(如按钮)先收缩至最小宽度,之后其他元素才开始截断,避免所有项同时被裁剪。 本文详解如何通过 flex-shrink 属性…...

NCM解密终极指南:3步解锁网易云音乐加密音频的完整方案

NCM解密终极指南:3步解锁网易云音乐加密音频的完整方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM加密文件无法在其他播放器播放而烦恼吗?这款高效专业的ncmdump工具让你轻松突…...

如何高效使用Real-ESRGAN:5分钟掌握AI图像增强魔法

如何高效使用Real-ESRGAN:5分钟掌握AI图像增强魔法 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN Real-ESRGAN是由腾…...

awesome-design-systems 中的电子商务设计系统:Shopify Polaris到Magento的案例

awesome-design-systems 中的电子商务设计系统:Shopify Polaris到Magento的案例 【免费下载链接】awesome-design-systems 💅🏻 ⚒ A collection of awesome design systems 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-des…...

AI在网络安全中的5个实战应用:从渗透测试到异常检测

AI在网络安全中的5个实战应用:从渗透测试到异常检测 网络安全领域正经历一场由AI驱动的技术革命。想象一下,当黑客的攻击速度以毫秒计时,传统人工防御如同用算盘对抗超级计算机。去年某金融机构遭遇的零日攻击中,防御系统仅用0.3秒…...

【JavaScript高级编程】拆解函数流水线 上加

一、什么是setuptools? setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你: 定义 Python 包的元数据(如名称、版本、作者等)。 声明包的依赖项,确保你的包能够正确运行。 构建源代码分发包&…...

Gotestsum自定义命令实战:从基础配置到高级用法

Gotestsum自定义命令实战:从基础配置到高级用法 【免费下载链接】gotestsum go test runner with output optimized for humans, JUnit XML for CI integration, and a summary of the test results. 项目地址: https://gitcode.com/gh_mirrors/go/gotestsum …...

3步搭建专业缠论可视化分析平台:量化交易的终极解决方案

3步搭建专业缠论可视化分析平台:量化交易的终极解决方案 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码,适用于缠论量化研究,和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SDK 项目…...

实战指南:用Wav2Lip UHQ插件打造专业级AI唇形同步视频

实战指南:用Wav2Lip UHQ插件打造专业级AI唇形同步视频 【免费下载链接】sd-wav2lip-uhq Wav2Lip UHQ extension for Automatic1111 项目地址: https://gitcode.com/gh_mirrors/sd/sd-wav2lip-uhq 想要制作自然流畅的AI配音视频,让虚拟人物的嘴唇动…...

FreakStudio俅

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单,下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...

L3GD20陀螺仪驱动开发:寄存器配置、中断与校准实战

1. L3GD20三轴数字陀螺仪驱动库技术解析与工程实践L3GD20是由意法半导体(STMicroelectronics)推出的低功耗、高精度三轴数字陀螺仪传感器,广泛应用于惯性导航、姿态解算、运动检测及无人机飞控等嵌入式系统中。该器件采用MEMS工艺制造&#x…...

Node.js SQLite终极指南:better-sqlite3快速上手与实战技巧

Node.js SQLite终极指南:better-sqlite3快速上手与实战技巧 【免费下载链接】better-sqlite3 The fastest and simplest library for SQLite3 in Node.js. 项目地址: https://gitcode.com/gh_mirrors/be/better-sqlite3 better-sqlite3是Node.js中最快、最简…...

如何快速掌握vxe-table插件开发:5个实用技巧与完整指南

如何快速掌握vxe-table插件开发:5个实用技巧与完整指南 【免费下载链接】vxe-table vxe table 支持 vue2, vue3 的表格解决方案 项目地址: https://gitcode.com/gh_mirrors/vx/vxe-table 你是否曾在Vue项目中为表格功能开发而烦恼?尝试过多种表格…...

离线环境下OpenEuler开发板手动部署g++/gcc编译环境的完整指南

1. 为什么需要离线部署g/gcc? 在工业嵌入式开发中,我们经常会遇到这样的场景:开发板运行的是OpenEuler这类开源操作系统,但由于安全限制或现场环境限制,设备完全无法连接外部网络。这时候如果需要使用g/gcc这样的基础编…...

NotoCJK:为Android设备带来专业级中文显示体验

NotoCJK:为Android设备带来专业级中文显示体验 【免费下载链接】notocjk NotoSansCJK & NotoSerifCJK full weight patch for Android devices. 项目地址: https://gitcode.com/gh_mirrors/no/notocjk 想要让你的Android手机或平板拥有更美观、更专业的中…...