当前位置:   article > 正文

TensorRT学习笔记2 - 基础知识_tensorrt精度下降

tensorrt精度下降

TensorRT是什么

       大家或多或少都训练过神经网络,比如LeNet、YOLO、SSD等。我们也都知道,模型的训练速度和测试速度大幅依赖于GPU的性能。但是如果想在生活中使用这些方法(目标检测、人脸识别等),比如在手机中使用目标检测方法,我们不可能在手机中安装一个GPU集群。但是不用GPU就会导致测试速度变慢,咋办?
       NVIDIA推出了TensorRT,它可以加速高性能推理(high performance inference),使用TensorFlow、Caffe、PyTorch等训练好的模型进行预测(推理),在精度下降很少的同时,大幅提高推理速度。
       模型训练的时候因为要保证前后向传播,每次梯度的更新是很微小的,这个时候需要相对较高的精度,一般来说需要float型,如FP32,32位的浮点型来处理数据,但是在推断(Inference)的时候,对精度的要求没有那么高,很多研究表明可以用低精度,如半长(16)的float型,即FP16,也可以用8位的整型(INT8)来做推断(Inference),没有特别大的精度损失。
在这里插入图片描述在这里插入图片描述

TensorRT怎么用

       在使用TensorRT的过程中,我们的设备上无需安装TensorFlow、Caffe等框架,可以直接对各种框架训练好的模型进行解析,将其转换为"TensorRT Runtime Engine"
       TensorRT工作的基本过程如下:(1).得到GIE模型,这里包括两种方法:使用训练好的模型转化 or 自己构建GIE模型(可参考sampleMNIST_API);(2).运行GIE;(3).得到结果。
       但是,TensorRT中只实现了一部分常用层,比如conv、pool、concat等,如果要用到更加复杂或者特定的层,需要使用plugin实现custom layer。一个简单的教程在这里

相关链接

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号