概述
本文重点介绍 OpenVINO™ 最新功能,无缝集成 TensorFlow 框架,对于熟悉TensorFlow 开发的开发者来说,在原有代码的基础上只需要添加几行简单代码就可以实现模型精度不变的前提下推理加速,避免了显式地进行 OpenVINO™转换以及推理部分代码的重新编写,大大简化 OpenVINO™ 工具的使用,加速AI 算法在生产环境中的应用部署。该集成为提高 TensorFlow 兼容性提供以 OpenVINO™ 工具套件内联优化和所需运行时,并加速了各种英特尔芯片上多类 AI 模型的推理。通过将以下两行代码添加到 Python 代码中,就可以极大地加速你的 TensorFlow 模型的推理:import openvino_tensorflowopenvino_tensorflow.set_backend(’<backend_name>’)下面我们来具体描述步骤。
1. 安装 Python 和 Anaconda
1.1 Python 和 Anaconda 简介
Python 是一种解释型高级通用编程语言,其在人工智能编码语言中发挥着至关重要的作用,人工智能领域的相关库或框架( 如 scikit-learn、Tensorflow、Caffe 以及 PaddlePaddle 等 )都是基于 Python 编程语言开发的。Python 虽然强大好用,
但管理其数量庞大的第三方库,并解决其依赖关系是非常复杂的事情。Anaconda 作为虚拟环境和 Python 库的管理工具,极大的方便了 Python 开发者管理 Python 所需要的虚拟环境和第三方库,而且解决了各种库之间的依赖关系。
1.2 下载并安装 Anaconda
首先下载并安装 Anaconda,具体步骤如下。
第 一 步, 通 过 网 址 https://www.anaconda.com/products/individual 进入 Anaconda 官网,点击 Download 进入下载界面,根据需求选择合适的下载文件,如图 1-1 所示。

第二步,找到 Anaconda 下载文件,使用 bash Anaconda3-
version-Linux-x86_64.sh 进行安装。如图 1-2 所示。

第三步,进入注册信息页面,按回车键。

第四步,阅读注册信息,然后输入 yes,查看文件即将安装的
位置,按回车键,即可安装。

第五步,进入安装过程。

第六步,安装完成后,收到加入环境变量的提示信息,输入yes。

第七步,看到图 1-7 这些信息说明已经安装完成。

第八步,重启终端,即可使用 Anaconda3。

2. 安装 openvino-tensorflow 插件
2.1 TensorFlow 简介
TensorFlow 是一个免费的软件库,专注于由 Google 创建的机器学习。TensorFlow 最初作为 Apache 2.0 开源许可证的一部分发布,最初由 Google 大脑团队的工程师和研究人员开发,主要供内部使用。TensorFlow 被认为是首次认真实施以深度学习为重点的框架。TensorFlow 是 一 个 端 到 端 的 平 台, 无 论 是 专 家 还 是 初 学者,都可以轻松的构建和部署深度学习模型。到目前为止,TensorFlow 是最流行的机器学习平台,社区参与人数最多、最活跃、演进也越快。如图 2-1 所示。

2.2 openvino-tensorflow 插件简介
该存储库包含 OpenVINO™ 与 TensorFlow 集成的源代码,该产品提供 OpenVINO™ 内联优化和运行时,以提高 TensorFlow兼容性。 它专为希望在推理应用程序中开始使用 OpenVINO™的开发人员而设计,以通过最少的代码修改来增强推理性能。OpenVINO™ 与 TensorFlow 的集成加速了各种英特尔® 芯片上许多 AI 模型的推理,例如:
● 英特尔® CPU
● 英特尔® 集成 GPU
● 英特尔® Movidius™ 视觉处理单元 - 称为 VPU
● 具有 8 个英特尔 Movidius™ MyriadX VPU 的英特尔® 视觉 加速器设计 - 称为 VAD-M 或 HDDL
2.3 安装
2.3.1 使用 Anaconda 创建环境
TensorFlow Object Detection API 的下载安装步骤如下:使用命令 conda create -n tensorflow_addon python=3.6 创建 python 解释器版本为 3.6,名字为 tensorflow_addon 的虚拟环境。

2.3.2 安装插件
激活 Python 虚拟环境 tensorflow_addon, 依次输入以下三条命令,完成 openvino-tensorflow 插件的安装。
● pip install -U pip21.0.1
● pip install -U tensorflow2.4.1
● pip install openvino-tensorflow


2.3.3 验证安装
激活 tensorflow_addon 环境,输入 python -c “import tensorflowas tf; print('TensorFlow version: ',tf.version); importopenvino_tensorflow; print(openvino_tensorflow.__
version__)” 打 印 Tensorflow 版 本,openvino-tensorflow版本。输入如图 3-4。

3. 运行 demo,观察使用插件和不使用 插件的结果对比
3.1 克隆 openvino_tensorflow.git 仓库到本地
● $ git clone https://github.com/openvinotoolkit/openvino_
tensorflow.git
● $ cd openvino_tensorflow
● $ git submodule init
● $ git submodule update --recursive
如图 3-1:
3.2 下载模型文件
终端运行命令
curl -L “https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz” |tar -C ./examples/data -xz

3.3 运行 demo,对比 enable openvino_ten- sorflow 和 disable openvino_tensorflow
激活 tensorflow_addon 环境,运行 python examples/classification_sample.py,默认是 enable openvino_tensorflow,通过在命令行增加参数 - disable_ovtf 达到 disable openvino_tensorflow的效果,可以观察到,enable openvino_tensorflow 插件相较于 disable openvino_tensorflow 插件,推理时间有明显缩短。

enable openvino_tensorflow:
● Inference time in ms: 31.76
● Milltary uniform 0.7839194
● Mortarboard 0.027078714
● Pickelhaube 0.014100761
● Bearskin 0.010530634
● Bulletproof vest 0.009587347
disable openvino_tensorflow:
● Inference time in ms: 46.25
● Milltary uniform 0.7839196
● Mortarboard 0.027078161
● Pickelhaube 0.014100781
● Bearskin 0.010530489
● Bulletproof vest 0.009587237
4. 过程中遇到的问题及解决办法
4.1 设备本地装了 OpenVINO 工具可能遇到的 报错情况
如 果 设 备 本 地 装 了 OpenVINO 工 具 很 有 可 能 遇 到 importcv2; ImportError:/opt/intel/openvino_2021/opencv/lib/libopencv_dnn.so.4.5:undefined symbol 报错,如图 4-1。

简单的解决办法是注释掉 home 目录下 .bashrc 文件里的source /opt/intel/oprnvino_2021/bin/setupvars.sh。

在重启终端,运行 demo, 就可以正常运行了。
4.2 因没有安装 opencv-python 可能遇到的 报错情况

解决方法是在终端输入命令 pip install opencv-python,问题解决。

