对使用tensorrt加速ai深度学习推断效率的探索_第1页
对使用tensorrt加速ai深度学习推断效率的探索_第2页
对使用tensorrt加速ai深度学习推断效率的探索_第3页
对使用tensorrt加速ai深度学习推断效率的探索_第4页
对使用tensorrt加速ai深度学习推断效率的探索_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-精选财经经济类资料- -最新财经经济资料-感谢阅读- 1 对使用 TensorRT 加速 AI 深度学习 推断效率的探索 【摘 要】本文对使用 TensorRT 对目前流行的人工智能框架训练的神经 网络模型的优化做了初步探索。目前基 于人工智能的应用呈现爆炸式增长,图 像识别、语音识别,自然语言处理、图 像检索等功能已经成了人们日常必须的 工具,随之而来对人工智能的推理效率 和响应速度则提出更高要求。本文结合 英伟达(nVidia)的 TensorRT 3 引擎和 面向无人智能化的 Jetson TX2 平台,对 以上问题的解决做了初步尝试。 中国论文网 /8/view-12933564.htm 【关键词】人工智能; TensorRT;TensorFlow ;神经网络 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 2 作为人工智能浪潮中数字产品和 服务的消费者,我们每天都会与多种人 工智能相关的服务进行交互,包括语音 识别,语言翻译,图像识别或视频字幕 生成等。在这些产品和服务的背后,神 经网络计算每个功能请求的结果。这个 步骤在人工智能领域通常被称为“推理” , 即新的数据通过传递给受过训练的神经 网络计算以a 生结果。在过往的机器 学习专业中,有时称这个过程为“预测” 或“计分”。 目前流行的做法是将神经网络部 署在云端 Web 服务中,接收来自数千 或数百万用户的并发请求,计算每个请 求的推理结果并响应给用户。为了提供 良好的用户体验,在考虑包括网络延迟, 神经网络执行消耗和基于生产环境的其 他延迟的情形下,努力促成最少响应时 间。业界主要通过 GPU 的多核心并发 计算能力和浮点运算的优势,利用诸如 Caffe、TensorFLow 等深度学习框架加 速深度神经网络的训练,解决特定应用 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 3 程序的效率要求。这些框架可以进行网 络设计,执行模型评估和诊断以及用新 数据重新训练模型,为快速构建问题解 决原型提供了很大的灵活性。 1 深度学习训练和部署 用深度神经网络解决机器学习的 监督问题涉及两个步骤:第一步,是使 用 GPU 对海量标记数据进行深度神经 网络训练。这一步中,神经网络将学习 数以百万计的权重或参数,使其能够在 示例数据与正确的响应之间建立映射。 因为目标函数相对于网络权重已经被最 小化,训练过程通常需要通过网络实现 前推回代。通常,模型训练和精确度需 要根据非训练期间的数据进行验证,以 预估在实景的表现。第二步,是使用训 练好的模型根据新采集的数据来进行预 测。该步骤中,训练效果最好的模型被 用于运行在生产环境中的应用程序,如 数据中心,汽车或嵌入式平台。对于某 些应用,如自动(辅助)驾驶,推理预 测是需要实时完成的,那么计算中对高 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 4 吞吐量、响应时间的驾驭至关重要。 如果目标是使用训练后的神经网 络来感知其周围的嵌入式设备,那么通 过模型的前向推断直接影响整体响应时 间和设备消耗的功率。其中,要优化的 关键指标是功率效率,即每瓦推断性能。 每瓦性能也是数据中心运营效率最大化 的关键指标。在这种情况下,需要尽量 减少地理上和时间上大量不相关的请求 所引起的延迟和消耗的能量,这往往也 成了限制大批量计算能力的关键因素。 2 用 TensorRT 优化训练后神经 网络 TensorRT 通过优化训练后的神 经网络来生成出于待部署状态的推理引 擎,能最大限度地提高 GPU 推理性能 和功效,尤其可以为诸如图像分类、分 割和对象检测之类的深度学习应用提供 最大的推理吞吐量和效率。TensorRT 运行时,对从 P4 和 V100 等数据中心 GPU 到自动驾驶和嵌入式平台(如 Drive PX2 和 Jetson TX2)的每个 GPU -精选财经经济类资料- -最新财经经济资料-感谢阅读- 5 平台的依赖性最小。 使用 TensorRT 先后需要完成编 编译和部署两个阶段任务。在编译阶段, TensorRT 对网络配置进行优化,生成 优化计划,用于计算通过深度神经网络 的正向推理。部署时采用驻守服务或用 户应用程序的形式接收输入的批量数据, 推理时根据输入数据执行优化计划,最 后返回输出数据(分类,对象检测等) 。 这里以 TensorRT 部署 TensorFlow 模型为例,说明如何在 TensorRT 中导入和优化经过训练的 TensorFlow 神经网络并将其部署为 TensorRT 运行时引擎。需要完成两个 步骤:(1)导入并优化训练过的模型 (这里需要使用 TensorFlow 框架的 freeze_graph 工具导出为冻结模型再导 入) ,设置部署目标使用的 GPU 并发量、 进度和内存等优化选项,生成推理引擎。 以文件的形式存储在磁盘上。 (2)加载 和反序列号把存好的推理引擎计划文件, -精选财经经济类资料- -最新财经经济资料-感谢阅读- 6 创建 TensorRT 引擎对象,使用它来进 行目标部署平台上的新数据推理。注意, 这里我们可以不用安装深度学习框架就 可完成。下面是示例代码: 代码中 UFF 代表通用框架格式 (Universal Framework format) ,它是运 行优化引擎前用于表示网络模型的 TensorRT 内部格式。函数 from_tensorflow_frozen_model()负责 进行模型转换,第一个参数是待导入的 TensorFlow 训练模型。第二个参数是输 出图层名称。目前在 TensorRT 中支持 一般的标准图层类型,包括卷积层、缩 放层、完全连接层等。上述代码的输出 是 TensorFlow 模型的 UFF 图形表示, 它可以通过 TensorRT 进行分析。我们 通过提供输入层的名称和维度(CHW 格式)和输出层的名称来配置 UFF 解 析器。接下来的编译过程,需要在目标 平台进行编译,这里我们使用的是 nVidia Jetson TX2,在需要使用 Jetson TX2 完成编译。在设置 TensorRT 的优 -精选财经经济类资料- -最新财经经济资料-感谢阅读- 7 化参数时,设定推理并发量、内存占用 和目标进度: 参数指定并发量为 1,使用 1MB 的暂存空间进行进度为 FP32 的推断。 函数的输出就是 TensorRT 优化的运行 时引擎,可以用来进行推理。优化的内 容包括图层和张量垂直融合,内核的自 动调优,张量动态记忆等。最后通过 trt.utils.write_engine_to_file 函数将引擎 序列化为文件存储。当需要执行 TensorRT 的推断时,加载序列化的模 型,进行推理。 而经过测试,在 Jetson TX2 平台

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论