1 切换python虚拟环境

在Anaconda中激活安装了Polygraphy包以及其依赖项的python环境,以下所有的操作都需要在此虚拟环境中操作,Polygraphy的安装可参考:https://www.stubbornhuang.com/1736/

2 使用

2.1 API调用

如果正确安装了polygraphy包,那么在项目正常调用该包即可。

官方仓库提供了较多的api示例可以参考:https://github.com/NVIDIA/TensorRT/tree/master/tools/Polygraphy/polygraphy

或者:https://github.com/NVIDIA/TensorRT/tree/master/tools/Polygraphy/examples/api

2.2 命令行调用

主要的命令行脚本在:https://github.com/NVIDIA/TensorRT/tree/master/tools/Polygraphy/bin 下的polygraphy,本地的位置在: TensorRT-master\tools\Polygraphy\bin 下

在切换到对应的虚拟环境之后,并切换到TensorRT-master\tools\Polygraphy\bin文件夹下,通过以下的命令行调用:

python polygraphy

对于https://github.com/oreo-lp/AlphaPose_TRT下对yolo模型的修正命令

polygraphy surgeon sanitize yolov3_spp_static.onnx --fold-constants --output yolov3_spp_static_folded.onnx

需要调整为:

python polygraphy surgeon sanitize yolov3_spp_static.onnx --fold-constants --output yolov3_spp_static_folded.onnx

这是需要注意的地方,在大多数的调用示例中前面都没有加python,这之前对我产生了很大的困扰。

2.3 集成到python项目中

另外也可以将polygraphy这个文件添加后缀名.py修改为polygraphy.py并加入到pycharm中调用,在pycharm中添加命令行参数调用该文件,这也是一种方式。