计算机系统应用教程网站

网站首页 > 技术文章 正文

获TensorRT加持的TensorFlow有哪些新的神通?

btikc 2024-09-10 11:57:15 技术文章 11 ℃ 0 评论

TensorFlow新版本发布还不到一个月的时间,这个互联网上最受欢迎的机器学习项目却取得了众多进展,刚刚TensorFlow宣布,他们将与TensorRT公司完全整合。

TensorRT是一个优化深度学习模型的库,用于在生产环境中的GPU上创建运行时部署。TensorFlow可以利用TensorRTs FP16和INT8 optimization的众多优势,特别是TensorRT在自动选择最有能力的特定平台的内核时,会最大化吞吐量和最小化延迟。

开发人员能够通过集成的工作流来提高速度,TensorFlow团队对其进行测试时发现,而使用NVIDIA Volta Tensor Cores的TensorFlow- tensorrt集成与只运行TensorFlow相比, ResNet-50 performed 8x 快了近7毫秒。

TensorRT

TensorRT是如何工作的呢?TensorRT是一个来自NVIDIA的c++库,有助于提高NVIDIA GPU的高性能推理。TensorRT优化网络定义、合并张量和层、转换权重,选择有效的中间数据格式,并从基于层参数和测量性能的大型内核目录中选择。

TensorRT还包含了一些从box中导入的方法,帮助开发人员快速对TensorRT深度学习模型进行优化和运行。其中有一个优化工具,它可以根据图形优化和层融合确定一个特定模型的最快实现。

还有一个运行时,开发人员可以利用它在推理上下文中执行TensorRT的网络。此外,它还设计了允许开发人员利用Pascal或Volta GPU的高速降低精度功能作为可选优化。

在实践中,TensorRT优化兼容子图,让TensorFlow执行剩余的。开发人员能够利用广泛的TensorFlow特征集快速开发模型,并得到最优性能的TensorRT模型。

之前,在集成两者的过程中,有时会遇到不支持的TensorFlow层,必须手动导入。现在,所有开发人员都需要做的是使用TensorRT优化TensorFlow子图,并使用TensorRT优化节点替换每个子图。

在TensorFlow 1.7中,在调用TensorRT以执行TensorRT优化节点之前,TensorFlow将为所有支持的区域执行图形。假设您的模型有3个部分(A、B和C),B部分是通过TensorRT优化的,然后用一个节点替换。当TensorFlow在这个模型上运行推理时,TensorFlow执行A,然后调用TensorRT来执行B,然后TensorFlow执行C。

另外,新添加的T TensorFlow API optimizes TensorRT 可以使用冻结的TF图,将优化应用到子图中,并在应用的所有更改和优化后将其发送回TensorFlow。

如何获得TensorRT?

TensorRT是TensorFlow 1.7版本的一部分,可以使用标准的pip安装过程:

pip install tensorflow-GPU r1.7

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表