jetpack5.0.2 已经安装了 cudnn 和 tensorrt

文章讲述了在JetsonXavierNX平台上使用cudnn和TensorRT时遇到的问题,主要涉及不同版本的cudnn冲突。作者通过NvidiaJetPack4.6的更新解决了版本不兼容和内存不足的问题,强调了确保软件包版本一致性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在平台 jetson Xavier NX 中想使用 cudnn 和 tensorrt。然后自己下载了相应包并解压,拷贝,编译

安装 cudnn

1.下载对应包文件,例如:cudnn-linux-sbsa-8.4.1.50_cuda11.6-archive.tar.xz
2.解压,移动到解压目录,再拷贝。如下:

sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp -P lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

3.安装完成

安装 tensorrt

1.下载对应包文件,例如:TensorRT-8.4.2.4.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz
2.解压,进入解压目录,再进入sample中随便找一个工程进行make
3.安装完成

问题:tensorrt 下任意一个工程make ,报错,错误如下:

Could not initialize cudnn, please check cudnn installation.
buildSerializedNetwork::636] Error Code 2: Internal Error (Assertion engine != nullptr failed. )

前面还有一点,我忘记了。
根据这两个问题检索,网友说:

  1. cuda 与 cudnn 版本不兼容
  2. 显卡内存不足

这两个问题我也尝试解决但任然没有头绪。
第二天早上,我再次检索,发现Nvidia开发者网站发布了一篇文章 Jetson Software Roadmap for 2H-2021 and 2022 ,根据该文中工作人员说:

JetPack 4.6 is our next production release, currently scheduled for July 2021. It will bring updates to the CUDA, cuDNN, and TensorRT compute stack as well as a feature-rich BSP update with L4T 32.6 based on Ubuntu 18.04. New capabilities will be included for over the air (OTA) software updates, security, bootloader, multimedia, camera, and cloud-native technologies.

我就瞬间诧异了,JetPack 4.6 就直接包含了 CUDA, cuDNN, TensorRT。文中还说 JetPack 4.6 是对以前的资源进行更新,增加。那 JetPack 5.0.2 那也应该是这样的。

然后我在根目录下去寻找 cudnn头文件和库文件

sudo find . -name cudnn*.h
sudo find . -name libcudnn*.so*
dpkg -l | grep TensorRT		//查看TensorRT版本

发现有多个版本的 cudnn!!!!!!!!!!
啊,这不就是 检索答案 中说的 cuda 与 cudnn 版本不兼容 问题嘛,
一个是 JetPack 5.0.2 刷系统时自带的,一个是我自己安装的。瞬间我明白了,我不是多此一举嘛!!!

然后我删除掉了我自己安装的 cudnn

sudo rm /usr/local/cuda/include/cudnn*.h -rf
sudo rm /usr/local/cuda/lib64/libcudnn* -rf

然后再 /usr/src/tensorrt/samples/sampleDynamicReshape 这个目录下编译该代码,再在 /usr/src/tensorrt/bin 这个目录下执行 sample_dynamic_reshape 。该程序顺利执行!!!

问题其实就在于自己多此一举,导致系统存在多个 cudnn 版本。

附上安装 cudnn 和 tensorrt 的链接
Installing cuDNN on Linux
TensorRT Tar File Installation

Jetson TX2作为NVIDIA Jetson系列中的一员,专为嵌入式人工智能计算而设计。JetPack SDK提供了强大的工具集,包括Linux操作系统、CUDA ToolkitcuDNN等,是进行深度学习计算机视觉项目不可或缺的组件。要通过终端安装JetPack SDK并管理相关组件,可以按照以下步骤进行: 参考资源链接:[Jeston TX2嵌入式AI平台Ubuntu重装指南:部署JetPack SDK与组件安装](https://wenku.csdn.net/doc/6412b52dbe7fbd1778d42364?spm=1055.2569.3001.10343) 1. 确保你的Jetson TX2已经连接到网络,并具备稳定的电源供应。 2. 使用`sudo apt update``sudo apt upgrade`命令更新系统包列表安装的包,以确保系统处于最新状态。 3. 下载最新版本JetPack SDK安装包。你可以从NVIDIA Developer网站获取,链接为<***>。下载`.run`格式的安装包至Jetson TX2。 4. 赋予`.run`文件执行权限:`chmod +x JetPack-L4T-版本号-linux-x64_b39.run`。 5. 运行JetPack SDK安装程序:`sudo ./JetPack-L4T-版本号-linux-x64_b39.run`。 6. 在终端安装界面中,按照提示进行操作。安装过程中,你会被询问是否安装CUDA Toolkit、cuDNN以及TensorRT等组件。 7. 根据你的项目需求选择要安装的组件。通常,对于AI开发,CUDA ToolkitcuDNN是必不可少的。 8. 确认安装选项并接受许可协议后,等待安装过程完成。 9. 安装结束后,根据终端中的指示重启你的Jetson TX2。 10. 启动后,通过`sudo apt list --installed`命令检查所安装的组件是否正确。 通过以上步骤,你可以在Jetson TX2上通过终端安装JetPack SDK并进行组件管理,为后续的AI开发实验打下坚实的基础。如果你在安装或管理组件时遇到任何问题,可以参考这份资料:《Jeston TX2嵌入式AI平台Ubuntu重装指南:部署JetPack SDK与组件安装》。它将为你提供详细的指导解决常见问题的方案,帮助你顺利完成安装配置工作。 参考资源链接:[Jeston TX2嵌入式AI平台Ubuntu重装指南:部署JetPack SDK与组件安装](https://wenku.csdn.net/doc/6412b52dbe7fbd1778d42364?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值