TensorRT6

作者: D_Major | 来源:发表于2019-10-08 15:49 被阅读0次

参考 https://arleyzhang.github.io/articles/7f4b25ce/


主要通过合并层和降低精度实现加速
  1. 以inception结构为例, 将conv, bias, relu串行融合成一个CBR模块, 另外相同结构但参数不同的并行结构也会进行合并, 从而减少CUDA核心的占用, 进而减少IO开销.
  2. 另外, TensorRT会提供完全自动化的校准(Calibration )过程,会以最好的匹配性能将FP32精度的数据降低为INT8精度,最小化性能损失。

将生成的pb模型转为uff, 之后分为build和deploy两个步骤:

  1. build就是合并层并降低精度, 使用TensorRT Optimizer, 这一步的输出是一个针对特定GPU平台和网络模型的优化过的TensorRT模型,这个TensorRT模型可以序列化存储到磁盘或内存中。存储到磁盘中的文件称之为 plan file.


    build:Import and optimize trained models to generate inference engines
  2. deploy类似于标准cuda的做法, 使用TensorRT Runtime Engine, 先申请现存, 然后把内存上的数据传到显存进行计算再返回. 重点是要获取输入输出tensor的名字


    deploy:Generate runtime inference engine for inference

1080Ti计算能力6.1,并不支持FP16,但是int8的量化还是可以使用的

相关文章

  • TensorRT6

    参考 https://arleyzhang.github.io/articles/7f4b25ce/ 以incep...

网友评论

      本文标题:TensorRT6

      本文链接:https://www.haomeiwen.com/subject/veopuctx.html