加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

TensorRT如何加速人脸识别

发布时间:2020-06-12 12:53:37 所属栏目:创业 来源:站长网
导读:副标题#e# 为了提高人脸识别的实时性,我们团队将传统的利用神经网络框架推理升级至统一的 TensorRT 加速推理。经实验对比,经 TensorRT FP16 模式推理加速后的人脸识别不仅几乎无损精度,甚至于在部分场景精度有提升,识别速度提升为原来的 2.3 倍。统一加

从上面图 6 和图 7 中可以看到经过校准的 INT8 推理相对于 FP32 的推理,准确率(Accuracy)有略微的损失,也可见在部分情况下(图 6 表格中绿色所示)INT8 推理相比 FP32 推理准确率有略微提升。另外可以看见一个趋势,随着 Calibration dataset 中图片数量的增加,INT8 相对于 FP32 的精度损失是在逐渐减小。从 Performance 这张图中可见在不同的推理 Batch Size(注意实际推理的 Batch Size 和 Calibration 过程中的 Batch Size 并不需要保持一致)设定下,INT8 推理相比于 FP32 推理的加速比。图中可见 Batch Size 越大,加速效果越好,在 Batch Size 为 128 的时候,加速比大约在 3.5 倍左右,当然实际的加速比和硬件平台,还有神经网络本身也有关系。除了速度上面的提升以外,低精度推理在存储消耗上相对于 FP32 也有相应的优化,如图 8 所示:

TensorRT如何加速人脸识别

图 8 中,INT8 on P40 即表示在 P40 显卡上进行 INT8 推理,可以看出相比 FP32 推理模式内存占用减少了 3 倍多,而速度提升了 3 倍多。而 FP16 模式也减少了 30% 的内存占用,速度提升了近两倍。

当然,上述的实验对比测试均来自 Nvidia 官方,具体到我们实际的深度学习场景,还需要经过实验进行对比精度的损失以及速度的提升,在第三章中,将会概述我们团队利用 TensorRT 加速人脸识别的实验流程以及效果,还有在实施中遇到的一些问题和解决方法。

② 神经网络优化

TensorRT 除了通过支持 FP16 和 INT8 这两种低精度模式的推理来提升速度以外,其在底层会根据 GPU 特性对神经网络进行相应的重构和优化。首先是其会删除一些并没有使用输出的层,以避免不必要的计算。然后会对神经网络中一些可以合并的运算进行合并,例如在图 9 所示的原始网络,TensorRT 会将其中的 conv、bias、relu 这三个层融合在一个层中,即图 10 所示的 CBR 层,这个合并操作也被成为垂直层融合。进一步的还有水平层融合,即如图 10 到图 11 的过程,将处于同一水平层级的 1x1CBR 融合到一起。

TensorRT如何加速人脸识别

TensorRT如何加速人脸识别

TensorRT如何加速人脸识别

2、Inference Server

Inference Server 是一类为机器学习模型提供一站式管理、推理服务、集成等功能的高性能模型服务系统。以下简要介绍几种常见的 Inference Server。

① TensorFlow Serving

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读