粉丝投稿 | Openvino2020.2.117在LattePanda上的安装和demo演示
爱分享的 OpenVINO 中文社区
内容来源|李国栋
内 容 排 版 | 卢 蔷 薇
1.简介
LattePanda 是Intel公司推出的市面上首款 Win 10 开发板,运行完整版 Windows 10 操作系统。板载一颗英特尔多核处理器,内置蓝牙和 WiFi 模组,支持USB 3.0 接口、HDMI 视频输出、3.5mm音频接口,100/1000Mbps 以太网口,以及额外的 MicroSD 扩展卡槽。集成一块 Arduino Leonardo 单片机,可以外拓各种传感器模块。
LattePandaDelta 系列采用了 Intel 全新 N 系列赛扬 4 核处理器,最高可达 2.40 GHz ,4GB 内存,完全可以胜任主要的机器人控制器、交互项目核心、物联网边缘设备或人工智能大脑,并且板子缩小到了手机的大小。预装 Windows 10 Pro,同时,也支持 Windows 和 Linux 双操作系统。
Lattepanda开发板+二代神经计算棒
而 Openvino 则是Intel于2018年推出的用于高性能、深度学习推理的工具套件,主要应用于计算机视觉、实现神经网络模型优化和推理计算加速的软件工具包,可以方便快捷地将真实结果更快更准确的产品化,并在从边缘到云的Intel架构上进行部署。
其主要组成是部分是模型优化器(Model Optimizer, MO)和推理引擎(Inference Engine, IE)。MO是一个基于Python的工具,用于导入训练好的模型并将其转换为中间格式IR(Intermediate Representation),通过模型拓扑转换优化性能及存储空间,对模型实现与硬件无关的优化,支持如Tensorflow, Caffe, Onnx, Mxnet等多样型的开发框架。而IE则是一个高层级的C/C++和Python的推理函数接口,为不同的硬件提供统一接口,每个硬件类型以动态加载插件的方式实现接口,并为不同的硬件类型提供最佳性能,无需用户实现和维护多个代码路径。
基于Tensorflow框架的Openvino软件工具包原理示意图
2. 主要内容
本文的主旨是在lattepanda上预装windows10操作系统,然后安装相关的插件和软件,测试Openvino在lattepanda上的安装和使用情况,主要解决在环境配置和demo演示过程中出现的问题。
本文中所采用的软件配置如下:
Windows10,python3.6.5,cmake3.17.2,tensorflow1.15,openvino2020.2.117,VS2017社区版,安装步骤如下,主要是参考文档《LattePanda Windows10 64位OpenVINO™入门教程》,细节不再赘述,只讲出现的现象和解决的方法。
- 安装操作系统,下载上述几个软件安装包
- 安装cmake,python及其第三方开发框架tensorflow
- 安装openvino,及其相关依赖库
- 安装VS2017
- 演示Demo
在上述过程中,主要出现了4个问题:
- 在安装python3.6.5以后,继续安装tensorflow1.15及其依赖库时,表面上安装成功,没有显示错误,但在通过import tensorflow as tf测试时,却出现load动态库的问题,无法使用,出现的信息如下图所示。
Tensorflow测试给出的提示信息
由提示来看,tensorlfow不能使用,最初怀疑版本兼容的问题,进行了降版本处理,从1.15变到1.14、1.13,但还是不能使用。后来经过搜索、查找相关资料,找到问题的根本所在,分析如下:
由于tensorflow 从1.6版本之后,采用 AVX2 的方式进行编译,导致高版本tensorflow不支持没有AVX2指令集的较早的CPU版本(其中就包括拿铁熊猫使用的celeron® N4100处理器),所以无法正常运行。
解决方法如下
:卸载目前安装的tensorflow:pip uninstall tensorflow,安装旧版本的tensorflow:pip install –ignore-installed –upgrade tensorflow==1.5,更新对应的可依赖numpy版本后,tensorflow可以正常使用了。
下图是降到1.5版本后,成功导入给出的信息。但真正用tensorflow进行深度学习和Openvino推理时,此开发板并不适用,资源和支持的版本都不够用。
- 安装VS2017时出现资源不足的情况
虽然只安装“通用Windows平台开发”和“使用C++桌面开发”,但提示的空间资源,还是需要十几个G的空间,经折衷后,只勾选了后者,IDE装到了C盘,挂载移动硬盘分担了备份资料的空间,安装完成后,C盘还有5G多的空间,勉强可以运行python和一些demo程序。
但有个隐患,后面用C++做推理时,可能会因缺少相关安装内容而失败。
- 在演示demo时,squeezenet模型不能加载、运行。
在相关软件都安装就绪后,进入“C:\IntelSWTools\openvino\ deployment_tools\demo”目录运行“demo_squeezenet_download_convert _run.bat”出现squeezenet模型下载不了的问题。这是每一个初次尝试Openviono都会遇到的问题,经过搜索和查询,发现主要是DNS的问题。需要修改“C:\Windows\System32\drives\etc\hosts”文件,以管理员权限打开该文件,并在文件最后添加一句“151.101.76.133 raw.githubusercontent.com”。这里的网址不是固定不变的,需要通过本机上网访问网站https://site.ip138.com /raw.githubusercontent.com/,并在其上找一个当前解析的运行良好的服务器网址,输入到此处,然后保存文件,再次运行该demo文件,就可以正常运行了。成功运行的结果如下:
- CPU下不能运行,在创建plugin for CPU时出现问题。
在成功修改hosts文件后,再运行这几个demo,在神经计算加速棒和GPU上都可以成功运行出结果,但在CPU下却出现错误,提示如下:
信息显示是无法load library “…MKLDNNPlugin.dll” 的动态库。
但经查看该目录下有此动态库文件,同时在GNA模式下运行时,也出现类似错误,经多方咨询和网上查证,也是因为主处理器硬件结构不支持AVX2指令集引起的,参考链接为:https://blog.csdn.net/xuguosheng1992/article/details/106541178
3. 结论
以上是我在lattepanda上安装运行openvino时出现的问题,希望能引起大家的注意,帮助到大家加速安装和调试的过程。需要注意的是二代神经计算棒的运行速度明显优于GPU,效果很棒。但由于lattepanda上资源有限,如果不加SSD的情况下,还是只进行推理计算,不进行其他框架(如tensorflow)的软件安装。在PC上调试好后,直接放到lattepanda上进行推理加速。
关注我们,让开发变得更有趣👇
微信号:openvinodev
B站:OpenVINO 中文社区
*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.