LEVEL 0:pytorch性能<10FPS
在电脑上,借助英伟达高端GPU算力跑模型,掩盖了python和pytorch在性能上的不足,训练完了想直接把pytorch装到jetson nano上就能实时检测那是想多了,到不了10FPS。
LEVEL 1:tensorrt加持
不要考虑pytorch了,把训练好的 ,pt 文件拷贝出来,用tensorrt进行编译,得到 .engine文件,性能大约可以提高1倍。
LEVEL 2:deepstream 加持
deepstream 是基于gstreamer的,只不过nvidia做了几个核心的infer和detect插件,其中infer插件用了tensorrt。你的模型要跑起来不能只有infer,还有视频接入、缩放、后处理等步骤,deepstream(gstreamer)的插件很多都能帮你完成,用不着通过opencv了。
LEVEL 3:C语言加持
deepstream提供了python和C例子,然并卵python是解释性语言性能不行,还是要硬着头皮用C,代码写起来倒也没那么难,就是照着葫芦画瓢。
FINAL:减少模型输入的尺寸
这一步是要你命3000,前面折腾完还卡的恭喜你找到救命稻草了,比如默认是1280*720的输入你改成640*360性能就会提升3-4倍,直到满足实时性为止。