避坑指南:Ubuntu20.04安装CUDA11.8和TensorRT时可能遇到的5个问题及解决方法

WIN10+VS2019+CUDA11.8 使用TensorRT部署 yolov5-5.0 将下载的《yolov5加速包》中所有文件,复制粘贴到已下载《tensorrtx-yolov5》解压tensorrtx-yolov5-v5.0\yolov5目录下,其中的CMakeLists.txt选择替换原有文件。将《tensorrtx-yolov5》文件下的gen_wts.py文件复制到《yolov5-5.0》目录下,按照下图操作。将转出的wts模型,复制到3.3所生成的yolov5.exe同级目录下。编译过程中出现如下图的错误是可以不用管的。TensorRT配置成功。 阅读详情

Ubuntu 20.04深度学习环境避坑指南:CUDA 11.8 + TensorRT实战全解析

在深度学习开发中,环境配置往往是项目启动的第一道门槛。Ubuntu 20.04作为长期支持版本,配合NVIDIA CUDA 11.8和TensorRT的组合,能够为AI模型训练和推理提供稳定高效的运行环境。然而,从驱动安装到环境变量配置,每一步都可能隐藏着让开发者耗费数小时甚至数天的"坑"。本文将基于实际项目经验,剖析五个最常见的问题场景及其解决方案,助你快速搭建可靠的开发环境。

1. 显卡驱动与CUDA版本兼容性陷阱

症状:安装CUDA后运行nvidia-smi正常但nvcc -V报错,或出现"Failed to initialize NVML: Driver/library version mismatch"错误。

驱动版本与CUDA工具包的不匹配是环境配置中最常见的问题根源。以CUDA 11.8为例,它要求驱动版本至少为450.80.02,但并非所有驱动版本都能完美兼容:

# 查看当前驱动版本
cat /proc/driver/nvidia/version

# 查看驱动支持的CUDA版本
nvidia-smi

典型冲突场景:

  • 通过apt install nvidia-driver-535安装最新驱动后,某些CUDA功能异常
  • 使用CUDA官方runfile安装包时默认勾选了驱动安装,导致驱动被降级

解决方案:

  1. 彻底卸载现有驱动:

    sudo apt purge nvidia-*
    sudo reboot
    
  2. 安装经测试的稳定版本组合:

    # 对于RTX 30系列及更新显卡
    sudo apt install nvidia-driver-515-server
    
    # 旧显卡(Turing架构及更早)
    sudo apt install nvidia-driver-470
    
  3. 使用--no-driver选项安装CUDA:

    sudo sh cuda_11.8.0_520.61.05_linux.run --no-driver
    

提示:如果已经误装了不兼容的驱动,可尝试通过sudo dpkg-reconfigure nvidia-dkms-515重置驱动模块。

2. cuDNN安装验证的隐蔽问题

症状:程序运行时出现"CUDNN_STATUS_NOT_INITIALIZED"错误,但cat /usr/local/cuda/include/cudnn_version.h显示版本正确。

cuDNN的安装看似简单(复制文件到CUDA目录),但存在多个验证层级:

完整验证流程:

  1. 基础头文件验证:

    cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    
  2. 运行时库验证(多数问题出在这里):

    # 检查链接是否正确
    ldconfig -p | grep cudnn
    
    # 手动加载测试
    sudo apt install libcudnn8-dev
    
  3. 功能测试(推荐使用官方样本):

    cp -r /usr/src/cudnn_samples_v8/ $HOME
    cd $HOME/cudnn_samples_v8/mnistCUDNN
    make clean && make
    ./mnistCUDNN
    

常见问题处理:

  • 符号链接缺失:手动创建软链接

    sudo ln -s /usr/local/cuda-11.8/lib64/libcudnn.so.8 /usr/lib/x86_64-linux-gnu/
    
  • 多版本冲突:统一使用deb包管理

    sudo dpkg -i libcudnn8_8.7.0.84-1+cuda11.8_amd64.deb
    sudo dpkg -i libcudnn8-dev_8.7.0.84-1+cuda11.8_amd64.deb
    

3. TensorRT与CUDA的版本耦合问题

TensorRT对CUDA版本的依赖极为严格,即使小版本号差异也可能导致兼容性问题。以TensorRT 8.5.3为例:

版本匹配矩阵:

组件推荐版本可接受范围
CUDA11.8.011.4 - 11.8
cuDNN8.7.0≥8.6.0
TensorRT8.5.38.5.x
GCC9.4.0≤11.2.0

安装避坑步骤:

  1. 优先使用tar包安装(避免deb包的自动依赖问题):

    tar xzvf TensorRT-8.5.3.1.Linux.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/TensorRT-8.5.3.1/lib
    
  2. Python绑定的版本匹配:

    pip install tensorrt-8.5.3.1-cp38-none-linux_x86_64.whl
    
  3. 验证安装:

    import tensorrt as trt
    print(trt.__version__)  # 应输出8.5.3.1
    

典型错误处理:

  • ImportError: libnvinfer.so.8:需手动设置LD_LIBRARY_PATH
  • CUDA initialization error:检查/usr/lib/x86_64-linux-gnu下的冲突库文件

4. 环境变量配置的深坑

环境变量配置不当会导致各种"灵异现象",如:

  • 终端中nvcc可用但IDE中报错
  • 不同用户权限下CUDA可用性不同
  • Docker容器内外行为不一致

推荐的多层次配置方案:

  1. 系统级配置(/etc/profile.d/cuda.sh):

    export CUDA_HOME=/usr/local/cuda-11.8
    export PATH=${CUDA_HOME}/bin:${PATH}
    export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
    
  2. 用户级配置(~/.bashrc追加):

    # 避免覆盖原有路径
    export PATH=/usr/local/cuda-11.8/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
    
  3. 应用级配置(如PyTorch):

    import os
    os.environ["CUDA_HOME"] = "/usr/local/cuda-11.8"
    

诊断工具:

# 检查路径优先级
which nvcc

# 查看动态库加载路径
ldd $(which nvcc)

# 检查生效的环境变量
env | grep CUDA

5. 多版本共存的依赖地狱

当系统需要同时支持多个CUDA版本时(如某些框架需要CUDA 10.1而其他需要11.8),可采用以下方案:

符号链接管理法:

sudo ln -sf /usr/local/cuda-11.8 /usr/local/cuda

环境模块方案:

  1. 安装environment-modules:

    sudo apt install environment-modules
    
  2. 创建模块文件(/etc/modulefiles/cuda/11.8):

    #%Module1.0
    set version 11.8
    prepend-path PATH /usr/local/cuda-11.8/bin
    prepend-path LD_LIBRARY_PATH /usr/local/cuda-11.8/lib64
    
  3. 按需加载:

    module load cuda/11.8  # 或 module switch cuda/10.1 cuda/11.8
    

容器化方案:

# 使用官方CUDA镜像
docker run --gpus all -it nvidia/cuda:11.8.0-base-ubuntu20.04

# 自定义镜像示例
FROM nvidia/cuda:11.8.0-runtime-ubuntu20.04
RUN apt update && apt install -y python3-pip
pip install torch==2.0.1+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

终极验证方案

完成所有安装后,建议运行以下综合测试脚本:

import torch
import tensorrt as trt
from pprint import pprint

def check_env():
    print("="*40 + " CUDA Check " + "="*40)
    print(f"Torch CUDA available: {torch.cuda.is_available()}")
    print(f"Torch CUDA version: {torch.version.cuda}")
    print(f"CUDA device count: {torch.cuda.device_count()}")
    print(f"Current device: {torch.cuda.current_device()}")
    print(f"Device name: {torch.cuda.get_device_name(0)}")
    
    print("\n" + "="*40 + " TensorRT Check " + "="*40)
    print(f"TensorRT version: {trt.__version__}")
    logger = trt.Logger(trt.Logger.INFO)
    builder = trt.Builder(logger)
    print(f"Builder created: {builder}")

if __name__ == "__main__":
    check_env()

输出应类似:

======================================== CUDA Check ========================================
Torch CUDA available: True
Torch CUDA version: 11.8
CUDA device count: 1
Current device: 0
Device name: NVIDIA GeForce RTX 3090

====================================== TensorRT Check ======================================
TensorRT version: 8.5.3.1
Builder created: <tensorrt.tensorrt.Builder object at 0x7f8e2c3b4d30>

遇到环境配置问题时,建议按照"驱动→CUDA→cuDNN→TensorRT"的顺序逐层排查,同时注意查看/var/log/nvidia-installer.log等日志文件。保持环境版本的一致性,是避免深度学习环境问题的黄金法则。

linux版:TensorRT安装教程 linux版:TensorRT安装教程。 阅读详情

相关推荐

Ubuntu20.04安装TensorRT教程

Ubuntu20.04安装TensorRT教程

weixin_42263762的博客 2890

ubuntu 20.04 环境下安装CUDA 11.8, cuDNN v8.6.0和TensorRT 8.6.0(deb方式)

ubuntu 20.04 环境下安装CUDA 11.8和 cuDNN v8.6.0。

mingo_敏 9276

Ubuntu20.04-linx-显卡安装,cuda安装,cudnn安装,TensorRT安装教程

目录 1.卸载旧驱动2. 禁用nouveau驱动3. 安装最后出现nvidia-drm错误1)开启了UEFI secure boot,导致第三方模块没有被合法签名,所以无法校验成功并加载2)其他安装,导致系统在配置文件中禁用了nvidia-drm 模块不起作用4. 安装Nvidia驱动5.安装显卡驱动6. 我这里选择recommended的驱动版本进行安装:7. 安装CUDA1. 在官网(CUDA Toolkit Archive | NVIDIA Developer)下载cuda,版本根据自己需求选择即可,

qq_64997742的博客 2133

Ubuntu 1804 安装 TensorRT(tar安装方式)CUDA 11.8

Tensorflow可以使用TensorRT加速,如果没有会出现Warning:Could not find TensorRT警告,本文将介绍如何在Ubuntu 18.04上以tar文件方式安装TensorRT(以CUDA 11.8为例)4.安装 Python TensorRT wheel 文件(将 cp3x 替换为 所需的 Python 版本,例如,用于 Python 3.8 的则为 cp38)注:如果使用conda虚拟环境,需要先激活需要安装的环境后进行安装。中的3.2.3节以tar方式安装。

qsdftuyiop的博客 1323

window11使用wsl2安装Ubuntu22.04及conda、cuda等

了解使用适用于Linux的Windows子系统(WSL)时访问网络应用程序的注意事项。适用于Linux的Windows子系统(WSL)中基本命令的参考。使用WSL访问网络应用程序|MicrosoftLearn。wsl2docker、cudatoolkit等安装。WSL的基本命令|MicrosoftLearn。子系统linux使用window网络代理、网络配置。wsl2Ubuntuminiconda安装。windows与子系统Linux文件访问。

鲨鱼儿的博客 7729

【亲测】ubuntu20.4安装TensorRT

ubuntu20.4安装TensorRT

weixin_40950590的博客 3821

Windows11下NVIDA CUDA,cuDNN和TensorRT安装教程 用tensorRT加速yolov5全记录

确保正确导出onnx文件需要注意以下几个方面:1:任何用到shape/size返回值的参数时,例如tensor.view(tensor.size(0), -1)这种操作,避免直接使用tensor.size()的返回值,而是加上int强转,例如tensor.view((tensor.size(0)), -1),断开跟踪。2:nn.Upsample或者nn.functional.interpolate函数,使用scale_factor指定倍率,而不是用size参数指定。

qq_64997742的博客 5336

NeurIPS‘25新研究!PINN+GNN强强联手,模型精度飙升50%!

物理图神经网络研究取得重大进展!UCLA团队提出的PhysGNN架构在NeurIPS'2025上引发关注,该模型成功融合PINN的物理约束优势与GNN的图结构处理能力,解决了工程仿真中的关键瓶颈。研究显示,PhysGNN在城市热网预测中误差降低42%,电网负荷模拟的物理规则违反率下降68%。同步解析的SyncTREE模型则创新性地将RC树物理特性融入GNN,实现毫秒级IC时序分析;HSPGNN模型通过嵌入偏微分方程,显著提升多变量时间序列填补精度。

m0_73122726的博客 1023

Ubuntu20.04部署YOLOv5

Ubuntu20.04部署YOLOv5

周同学的博客 1万+

uniapp+openlayers集成天地图实战:renderjs通信陷阱与性能优化避坑指南

本文深入探讨了uniapp与openlayers集成天地图时的renderjs通信陷阱与性能优化策略。通过实战案例解析了renderjs的特殊通信机制、地图实例生命周期管理、图层懒加载等关键技巧,帮助开发者避免常见坑点,提升应用流畅度。特别针对多语言切换、热重载偏移等疑难问题提供了解决方案,是uniapp+openlayers开发者的实用避坑指南。

weixin_30872157的博客 362

STM32CubeMX、keil、simulink联合开发MCU教程

一、整体思路 利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。 本文以流水灯建立模型和简单使用定时器为例进行演示。 二、开发环境 1、安装Matlab Matlab版本建议在2013B以上,本文使用Matlab 2016a。 2、安装STM32硬件支持包 下载地址(https://www.stmcu.org.cn/document/detail/index/id-216053) 安装完成后重启MAT

tzlaa的博客 7741

ubuntu20.04显卡驱动cuda cudnn conda TensorRT安装及配置

ubuntu20.04显卡驱动 cuda cudnn conda TensorRT安装及配置, 包含显卡驱动安装前禁用核显;conda和pip换源,TensorRT安装

h904798869的博客 1万+

2026年摩尔线程数字IC面试试卷带答案

本文摘要: 该试卷为数字IC设计笔试,满分120分,时长90分钟,包含单选题、波形分析题、多选题和代码设计题。重点考察时序约束(如set_false_path)、建立/保持时间、逻辑化简、复位机制、AXI协议、半导体工艺、状态机、GPU架构等核心知识点。多选题涉及异步FIFO设计、Verilog综合、亚稳态处理、C++关键字和低功耗技术。代码题要求实现单比特信号去毛刺电路,需稳定4个时钟周期才输出。试题解析详细,标注了企业面试高频考点,如摩尔线程自研的MUSA架构和花港GPU架构特点。整体内容专业性强,覆盖

Open 99

Ubuntu18.04安装cuda 11.3和TensorRT 8教程(碰到的坑及填坑方法,以及python和c++的TensorRT环境搭建)

1.卸载原环境 原环境:显卡驱动 -- 470.57.02 cuda -- 10.0 cudnn -- 7.6 TensorRT 7.0.0.11 卸载cuda10.0以及相应的cudnn: cd /usr/local/cuda/bin sudo ./uninstall_cuda_10.0.pl cd .. sudo rm -rf cuda-10.0 2.安装cuda 11.3及相应的cudnn cuda各版本可在https://developer.nvidia.c

lkh798842577的博客 7458

LLC谐振变换器软启动,不只是“慢启动”,还是“智能启动”

LLC谐振变换器的软启动,不只是“慢慢来”,而是要在控制时序、限流、响应速度之间精妙权衡。而数字控制,特别是用查表法或混合信号法,为实现真正的“最佳轨迹”提供了可能。✨小Tips:如果你的系统成本敏感,选择查表法准没错;如果你的设计目标是超高速响应,那就上混合信号的高配方案!

weixin_43199439的博客 691

一次点击跑通:用 Postman 自动获取并携带 CSRF token,测试 SAP OData 写操作

SAP OData 写操作自动化测试方案 针对 SAP Gateway OData 服务写操作中常见的 CSRF token 验证问题,本文提出了一套基于 Postman 的自动化解决方案: 问题分析:解释了 CSRF token 的验证机制及其必要性,说明手工测试效率低下的原因 解决方案: 使用 Postman 环境变量存储 token 通过脚本自动获取并传递 token 利用 Collection Runner 实现一键执行 实施步骤: 创建环境变量存储 token 第一个请求获取 token 并存入变

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 310

Ubuntu20.04软件安装大全

Ubuntu20.04软件安装大全

周同学的博客 1万+

《Autosar_BSW高阶配置》总目录_培训教程持续更新中...

目录 一、Autosar COM Module 二、Autosar BswM Module 三、Autosar EcuM Module 四、Autosar DCM Module 五、Autosar DEM Module 六、其它Module陆续推出 欢迎大家订阅《Autosar_BSW高阶配置》专栏(可以理解为是Autosar培训教程),该专栏每周至少更新一篇,一次订阅,不再二次收费,献上常用的案例和配置方法。下方整理了相关博文的链接(单击蓝色字体即可跳转),方便大家获取。 本专栏...

「汽车电子助手」的博客 4万+

Ubuntu18.04安装 NVIDIA驱动+CUDA10.2+cuDNN+TensorRT

系统:Ubuntu 18.04.5。显卡:RTX2080Super,独显无集成显卡。

CosmosHua 9万+

【第33话:车辆控制】自动驾驶车辆运动学模型推导及详解

自动驾驶车辆的运动学模型以自行车模型为核心,通过状态方程。

一碗白开水一 833

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

安装ubuntu20.04 遇到的问题,及cuda、cudnn、tensorrt安装提示

cuda cudnn tensorrt安装提示

weixin_44359953的博客 6601

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

在GPU为4060的Ubuntu20.04下的安装cuda==11.8、CUDNN==8.6.0、TensorRT 8.5.1.7

在利用tensorrt加速推理yolo v5时,遇到这个问题,经过不断探索,不断尝试,发现是因为笔记本的显卡为4060。

qq_41938005的博客 3996

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Ubuntu22.04 下安装驱动、CUDA、cudnn以及TensorRT

Ubuntu22.04 下安装 Anaconda3 + python3.10 + cuda11.7 + cudnn8.4.1.5+ opencv4.5.3

lilin020401的专栏 1万+

在ubuntu20.04上利用tensorrt部署yolov5(C++和Python接口)

在ubuntu20.04上利用tensorrt部署yolov5(C++和Python接口 一、CUDA、CUDNN、TensorRT以及OpenCV安装一、CUDA、CUDNN、TensorRT以及OpenCV安装 1、CUDA安装 2、CUDNN安装 3、TensorRT安装 4、OpenCV安装 链接: https://opencv.org/releases/page/4/ 完成后配置OpenCV环境: 配置bash: 验证OpenCV配置完成: 二、YOLOv5部署

uzumakinarutoka的博客 6342

在Ubuntu18.04中安装CUDA、cuDNN、TensorRT

CUDA、cuDNN、TensorRT安装教程

KJuncle的博客 3028

ubuntu20.04基于tensorRT和c++跑yolo11

ubuntu 20.04环境下,使用C++以及tensorRT跑yolo 11模型

Acecai01的博客模板 1562
上一篇: Fatbeans抓包神器实战:如何用进程筛选功能5分钟定位微信小程序网络问题
下一篇: 四旋翼无人机飞行控制实战:如何通过电机转速调整实现精准飞行
Python
博客等级 码龄26年 1973粉丝 1567原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值