深度学习推理加速器TensorRT学习笔记(一)
一、简介
TensorRT作为英伟达深度学习系列软件的一部分,是一个高性能(HP)的深度学习推理优化器,可以为深度学习应用提供一个低延迟、高吞吐量的推理部署。基于TensorRT的应用推理性能上是只用CPU时的40多倍(版本TensorRT 7.0)。使用TensorRT,你可以优化现在几乎所有主流深度学习框架(tensorflow、caffe、pytorch、mxnet等)。TensorRT建立在NVIDIA的并行编程模型CUDA的基础上,使你能够利用CUDA-X中的库、开发工具和技术,为人工智能、自动机器、高性能计算和图形优化所有深度学习框架的推理。
TensorRT安装请参考TensorRT(1)-介绍-使用-安装 | arleyzhang
TensorRT是一个c++库,目前提供c++和python的API,有一些部分是开源的,包括基于TensorRT的示例程序等。GitHub链接GitHub - NVIDIA/TensorRT: TensorRT is a C++ library for high performance inference on NVIDIA GPUs and deep learning accelerators.
二、关于推理(inference)
由上图可以看出训练与推理的区别:
训练:过程包含向前传播(forward)以及反向传播backward两个过程,forward过程最终计算预测的y,backward过程优化各层的权重。训练过程针对的是训练集。
推理:过程只包含向前传播(forward),主要针对训练集以外的数据。部署在平台上的神经网络模型对推理预测速度有着较高的要求。
参考:
https://www.cnblogs.com/qccz123456/p/11767858.html
https://developer.nvidia.com/tensorrt
https://arleyzhang.github.io/articles/7f4b25ce/