zoukankan      html  css  js  c++  java
  • TensorRT加速原理记录

    TensorRT是什么?

    TensorRT是NVIDIA公司推出的模型加速工具,类似于常用的工具库。

    TensorRT做什么?

    TensorRT负责模型的推理(inference)过程,不用TensorRT训练模型。

    TensorRT能加速的原因是什么?

    (1)TensorRT支持kFLOAT(float32)、kHALF(float16)、kINT8(int8)三种精度的计算,在使用时通过低精度进行网络推理,达到加速的目的。

    (2)TensorRT对网络结构进行重构,把一些能合并的运算合并在一起,根据GPU的特性做了优化。具体方法为(a)垂直合并;(b)水平合并。

    (a)垂直合并:垂直合并是将目前主流神经网络结构的Conv、BN、Relu三个层融合为一个层。

    (b)水平合并:水平合并是指将输入为相同张量和执行相同操作的层融合在一起。

    举例说明:

    原网络结构如下图所示:

    垂直合并:

    再进行水平合并:

    结。

    参考:

    https://zhuanlan.zhihu.com/p/64933639
    http://www.iterate.site/post/01-%E6%8E%A2%E7%B4%A2/13-%E7%AE%97%E6%B3%95%E6%A1%86%E6%9E%B6/14-%E6%A8%A1%E5%9E%8B%E5%8A%A0%E9%80%9F/71-tensorrt/02-tensorrt-%E5%8A%A0%E9%80%9F%E5%8E%9F%E7%90%86/
  • 相关阅读:
    Shell学习(四)Shell运算符
    Shell学习(三)Shell参数传递
    Shell学习(二)Shell变量
    Shell学习(一)认识Shell
    JVM学习(四)JVM调优
    JVM学习(三)JVM垃圾回收
    JVM学习(二)JVM加载类
    JVM学习(一)什么是JVM
    Python学习————包
    Python学习————模块
  • 原文地址:https://www.cnblogs.com/zhibei/p/12331292.html
Copyright © 2011-2022 走看看