零基础安装并使用 OpenVINO™ integration with TensorFlow
openlab_4276841a
更新于 3年前
概述
本文重点介绍 OpenVINO™ 最新功能,无缝集成 TensorFlow 框架,对于熟悉 TensorFlow 开发的开发者来说,在原有代码的基础上只需要添加几行简单代码 就可以实现模型精度不变的前提下推理加速,避免了显式地进行 OpenVINO™ 转换以及推理部分代码的重新编写,大大简化 OpenVINO™ 工具的使用,加速 AI 算法在生产环境中的应用部署。
该集成为提高 TensorFlow 兼容性提供以 OpenVINO™ 工具套件内联优化和所 需运行时,并加速了各种英特尔芯片上多类 AI 模型的推理。通过将以下两行代 码添加到 Python 代码中,就可以极大地加速你的 TensorFlow 模型的推理:
import openvino_tensorflow openvino_tensorflow.set_backend('')
下面我们来具体描述步骤。
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 所示。
图 1-1 下载 Anaconda
第二步,找到 Anaconda 下载文件,使用 bash Anaconda3- version-Linux-x86_64.sh 进行安装。如图 1-2 所示。
图 1-2 安装 Anaconda
第三步,进入注册信息页面,按回车键。
图 1-3 安装 Anaconda 注册信息页面
第四步,阅读注册信息,然后输入 yes,查看文件即将安装的位置,按回车键,即可安****r>
图 1-4 安装 Anaconda 安装路径
第五步,进入安装过程
图 1-5 安装 Anaconda 安装过程
第六步,安装完成后,收到加入环境变量的提示信息,输入 ye****r>
图 1-6 安装 Anaconda 设置环境变量
第七步,看到图 1-7 这些信息说明已经安装完成。
图 1-7 安装 Anaconda 安装信息
第八步,重启终端,即可使用 Anaconda3。
图 1-8 重启终端
2. 安装 openvino-tensorflow 插件
2.1 TensorFlow 简介
TensorFlow 是一个免费的软件库,专注于由 Google 创建的 机器学习。TensorFlow 最初作为 Apache 2.0 开源许可证的 一部分发布,最初由 Google 大脑团队的工程师和研究人员开发,主要供内部使用。TensorFlow 被认为是首次认真实施以深度学习为重点的框架。
TensorFlow 是一个端到端的平台,无论是专家还是初学者,都可以轻松的构建和部署深度学习模型。到目前为止,TensorFlow 是最流行的机器学习平台,社区参与人数最多、 最活跃、演进也越快。如图 2-1 所示。
图 2-1 ARABIC1 TensorFlow 和 Pytorch 的增长速率
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-2 Anaconda 创建环境
激活 Python 虚拟环境 tensorflow_addon, 依次输入以下三条命令,完成 openvino-tensorflow 插件的安****r>
● pip install -U pip==21.0.1
● pip install -U tensorflow==2.4.1
● pip install openvino-tensorflow
图 2-3 激活环境安装 tensorflow
图 2-4 安装 openvino-tensorflow
2.3.3 验证安***r>
激活 tensorflow_addon 环境,输入 python -c "import tensorflow as tf; print('TensorFlow version: ',tf.__version__); import openvino_tensorflow; print(openvino_tensorflow.__ version )" 打 印 Tensorflow 版 本,openvino-tensorflow 版本。输入如图 3-4。
图 3-4 enable openvino_tensorflow vs disable openvino_tensorflow
图 2-5 验证安装
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-1 克隆仓库
3.2 下载模型文件
终端运行命令
curl -L "https://storage.googleapis.com/download. tensorflow.org/models/inception_v 3_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 插件,推理时间有明显缩短。
●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.1 设备本地装了 OpenVINO 工具可能遇到的报错情况
如果设备本地装了 OpenVINO 工具很有可能遇到 import cv2; 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, 就可以正常运行了。
终端运行命令
curl -L "https://storage.googleapis.com/download. tensorflow.org/models/inception_v 3_2016_08_28_ frozen.pb.tar.gz" |tar -C ./examples/data -xz
图 3-2 下载模型
图 3-3 下载的 inception 模型
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 插件,推理时间有明显缩短。
图 3-4 enable openvino_tensorflow vs 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 工具很有可能遇到 import cv2; ImportError:/opt/intel/openvino_2021/opencv/lib/
libopencv_dnn.so.4.5:undefined symbol 报错,如图 4-1。
图 4-1 import cv2; ImportError 报错
0个评论