我的板子目前环境是Jetpack4.6.2、CUDA10.2、Cudnn8.2.1、Tensorrt8.2.1
首先说一下为什么要更换版本,在执行tensorrt的测试案例的时候,无法通过,报错如下:
[ltWrapper.cpp::nvinfer1::rt::CublasLtWrapper::setupHeuristic::327] Error Code 2: Internal Error (Assertion cublasStatus == CUBLAS_STATUS_SUCCESS failed. )
[01/19/2022-11:26:08] [E] [TRT] 2: [builder.cpp::nvinfer1::builder::Builder::buildSerializedNetwork::609] Error Code 2: Internal Error (Assertion enginePtr != nullptr failed. )
在网上找了一堆教程,都说是CUDA和Tensorrt版本不兼容,要打补丁
当时参考的这个链接,但是并不行!因为NX是arm架构,没办法直接在官网上找补丁,也没听说过补丁!
然后谷歌找到了Nvidia的官方对于这个报错的回复!这个才是最靠谱的!
Hi,
Do you set up Xavier with JetPack4.6?
If yes, it should be TensorRT v8.0.1 with CUDA v10.2.460.
Could you double-check the version first?
$ apt show nvidia-cuda
$ apt show nvidia-tensorrt
Thanks.
意思就是Tensorrt8.2.1这个版本不适配,需要更换成8.0.1!
接下来问题又来了,去哪找8.0.1版本的Tensorrt,官网根本没办法下载指定版本的。
这里需要用到sdkmanager,从官网上下载NVIDIA SDK Manager | NVIDIA Developer
这个下载完直接deb安装就行,网上很多使用教程,NVIDIA Jetson Xavier NX 刷机方法(sdk manager)_大聪明墨菲特的博客-CSDN博客_nvidia nx 刷机
注意!我们需要选择版本为4.6.1,这个版本是给的tensorrt8.0.1!
然后是卸载原有的tensorrt,首先是先查找有哪些:
sudo dpkg --list | grep tensorrt
然后进行卸载:
sudo apt-get --purge remove nv-tenserrt*
sudo apt-get --purge remove "*tensorrt*"
卸载完成后可以再查找一遍,无的话进行安装!
安装教程参考下面这个链接
jetson TX2安装TensorRT_令狐傻笑的博客-CSDN博客_jetson tensorrt
之后有时间我来详细写这篇文章!
Original: https://blog.csdn.net/weixin_41653613/article/details/126252531
Author: C++有手就行
Title: Jetson Xavier NX 卸载Tensorrt8.2.1并安装指定版本8.0.1
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/627465/
转载文章受原作者版权保护。转载请注明原作者出处!