TensorRT是本专栏中最重要的内容,绝大多数内容将围绕TensorRT来展开,本文对TensorRT进行一个基本的介绍,让不熟悉TensorRT的读者能够对TensorRT是什么,如何使用它有一个较为全面的认识
Nvidia TensorRT是一个用于Nvidia GPU上高性能机器学习推理的SDK,对开发者屏蔽了模型在GPU上推理运行的CUDA计算细节,用户只需要通过一套简介易用的Python/C++ API接口,即可方便的将模型在GPU上进行加速推理。另外TensorRT还提供了模型转换、性能评估的工具,方便用户将各训练框架生成的模型转换到TensorRT能够识别的形式,以及在未进行业务开发之前快速评估模型推理的性能
Nvidia官方网站的TensorRT介绍页面有一张TensorRT的工作流程示意图
这张图非常清晰的解释了TensorRT的工作,预训练网络(Trained Neural Network)在经过精度校准(Precision Calibration)、层融合(Layer Fusion)、算子自动调谐(Kernel Auto-Tuning)、动态张量内存(Dynamic Tensor Memory)、多流执行(Multi-Stream Execution),最终生成预优化的推理引擎(Optimized Inference Engine)
Build Phase and Runtime Phase
TensorRT的主要