英特尔® Developer Cloud for the Edge
OpenVINO™ 与 TensorFlow* 集成
TensorFlow* 开发人员现在只需添加两行代码,即可在多种英特尔® 计算设备上将 OpenVINO™ 工具套件优化应用于 TensorFlow 应用程序。 英特尔® Developer Cloud for the Edge 预装了 OpenVINO 与 TensorFlow 的集成。
OpenVINO 与 TensorFlow 的集成可加速许多 AI 模型在如下各种英特尔® 芯片上的推理:
- 英特尔® CPU
- 英特尔® 集成 GPU
- 英特尔® Movidius™ 视觉处理器 (VPU)
- 采用英特尔® Movidius™ Myriad™ X 视觉处理器的英特尔® Vision Accelerator Design
开始使用
下图说明如何初始化内置 Tensorffow 模型,以便在应用程序中使用 OpenVINO 工具套件进行推理。
在您的 TensorFlow 应用程序中插入以下两行代码。
import openvino_tensorflow
openvino_tensorflow.set_backend('<backend_name>')
支持的后端选项包括:
- CPU
- GPU
- MYRIAD
- VAD-M
要更改完成推理的硬件,请调用以下函数:
openvino_tensorflow.set_backend('<backend_name>')
要确定您的系统支持哪些推理硬件,请使用以下代码:
openvino_tensorflow.list_backends()
体系架构
下图提供了每个模块的功能及其如何转换原始 TensorFlow 图的高级概述。
运算符功能管理器 (OCM)
该模块实施对 TensorFlow 运算符的检查,以确定哪些抽象层属于 OpenVINO 集成后端,哪些层应回退到现有 TensorFlow 运行时。
图分区器
检查 OCM 标记为集群的节点,并将它们分配到集群中。一些集群在进一步分析后会被丢弃。每个运算符集群随后会被封装成一个自定义运算符,在 OpenVINO 集成上运行。
TensorFlow 导入器
将 TensorFlow 运算符转换为 OpenVINO 集成运算符,并创建包装成卷积神经网络 (CNN) 的 nGraph 函数以在工具套件后端上运行。
后端管理器
此模块创建用于运行 CNN 的后端。后端有两种类型:基本后端和 VAD-M 后端。基本后端支持 CPU、iGPU、MYRIAD。VAD-M 后端用于带有八个 VPU 的英特尔® Vision Accelerator Design(称为 VAD-M 或 HDDL)。
子图分区
通过 OpenVINO 优化,OpenVINO 与 TensorFlow 的集成可以对具有后端支持的运算符的子图加速。不受支持的运算符回退到现有 TensorFlow。该图有四个节点,其中前三个节点可获得 OpenVINO 工具套件支持,并在运行时得到优化。第四个不受支持的运算符将回退到原始 TensorFlow 运行时。
资源
英特尔® Developer Cloud for the Edge 有多个示例应用和教程来说明 OpenVINO 与 TensorFlow 集成的工作原理。
资料 | 描述 |
---|---|
对象检测示例应用程序 | 说明如何使用 OpenVINO 与 TensorFlow 的集成执行对象检测 |
分类示例应用程序 | 说明如何使用 OpenVINO 与 TensorFlow 的集成执行分类 |
GitHub* 存储库 | 有关安装、最低先决条件等的其他文档 |
OpenVINO 与 TensorFlow 集成安装程序 | 下载软件包并在本地边缘设备上安装以供使用 |
注 为获得最强大的性能、效率、工具自定义和硬件控制,建议使用内置的 OpenVINO 工具套件 API 和运行时。