不知道大家是否遇到过这么一个问题,就是生成一个动态的tensorrt模型,同时还要对这个模型进行推理。其实这里面蕴含着两个问题,其中一个是你如何来生成一个包含动态的batch的模型,其次就是这个动态的模型我们怎么分配GPU显存来进行动态的推理。

首先需要说明的是,生成动态的batchsize用 trtexec比较好:

trtexec --onnx=./alphapose.onnx --explicitBatch \
            --minShapes="input":1x3x256x192 \
            --optShapes="input":20x3x256x192 \
            --maxShapes="input":80x3x256x192 \
            --shapes="input":20x3x256x192 \
            --saveEngine=resnet18_dynamic.engine