Polygraphy在我进行模型精度检测和模型推理速度的过程中都有用到,因此在这做一个简单的介绍。
polygraphy 是一个深度学习模型调试工具,包含 python API 和 命令行工具,它的功能如下:
Github地址:Polygraphy
Polygraphy 对其他 Python 包没有硬依赖。 但是,包含的大部分功能 确实需要其他 Python 包。 就比如对onnx和trt模型推理对比就需要安装onnxruntime和nvidia-tensorrt包。
当运行的程序需要哪些包时,程序会自动去安装对应的包要启用此功能可以在环境变量中做如下设置:
如果你将tensorrt源码clone到了本地,那么可以在 tools/Polygraphy/polygraphy/backend 目录下的文件夹找到requirement.txt ,根据该文件你可以安装对应的包。
如果需要其他软件包,将记录警告或错误。 您可以使用以下方法手动安装其他软件包:
在 polygraphy\example 目录下存放有多个示例,包括Python API,CLI,现在来简单介绍一下Polygraphy/examples/cli/run/01_comparing_frameworks 这个示例:
polygraphy run yawn_224.onnx --onnxrt --trt --workspace 256M --save-engine yawn-test.plan --fp16 --verbose --trt-min-shapes 'data:[1,3,224,224]' --trt-opt-shapes 'data:[3,3,224,224]' --trt-max-shapes 'data:[8,3,224,224]' > test.txt
# 命令解析
polygraphy run yawn_224.onnx # 使用onnx模型
--onnxrt --trt # 使用 onnxruntime 和 trt 后端进行推理
--workspace 256M # 使用256M空间用于生成.plan 文件
--save-engine yawn-test.plan # 保存文件
--fp16 # 开启fp16模式
--verbose # 显示生成细节
--trt-min-shapes 'data:[1,3,224,224]' # 设定 最小输入形状
--trt-opt-shapes 'data:[3,3,224,224]' # 设定 最佳输入形状
--trt-max-shapes 'data:[8,3,224,224]' # 设定 最大输入形状
> test.txt # 将终端显示重定向test.txt 文件中
复制代码
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。