Jetpack 4.5.1及以前的版本4.x里使用的是TensorRT 7.1.3,JetPack 4.6开始则是使用的TensorRT 8,由于我们在模型加速上多是建立在TensorRT的基础上的,而TensorRT 8没有完全保证对TensorRT 7.x的兼容,所以受TensorRT这个版本的变化对封装调用模型的部分代码是有影响的,在Jetpack 4.5 + Deepstream 5开发的程序涉及到AI模型的部分在Jetpack 4.6 + Deepstream 6下很可能编译都会出错,更不要说能跑起来。
近期在Jetson Nano上对我们基于Jetpack 4.5 + Deepstream 5开发的程序做了针对Jetpack 4.6 + Deepstream 6的migration实验,发现受影响最大的自然是nvinfer plugin调用的我们自己的目标检测模型的部分以及nvtracker plugin部分。
1. nvinfer plugin调用我们定制模型的部分有些改动:
1) 用来创建engine的接口函数增加了nvinfer1::IBuilderConfig * const builderConfig这个参数,以前Deepstream 5.0中的接口是类似这样的
extern "C"
bool NvDsInferYoloCudaEngineGet(nvinfer1::IBuilder * const builder,
const NvDsInferContextInitParams * const initParams,
nvinfer1::DataType dataType,
nvinfer1::ICudaEngine *& cudaEngine);
Deepstream 6.0中则是类似这样:
extern "C"
bool NvDsInferYoloCud

最低0.47元/天 解锁文章
1150

被折叠的 条评论
为什么被折叠?



