OpenVINO提供了丰富的例子,为了方便研究和使用,咱们须要将这些例子由原始的demo目录中分离出来,也就是“独立”运行,这里咱们选择了较为简单的
super_resolution_demo来讲明问题并标注重点
;另外一方面,因为OpenVINO升级比较快,在一些细节的也有较多修改,因为版本升级带来的
问题
须要注意,这里也进行了适当梳理。
本篇博客的前提是“windows平台
,而且已经成功在
vs2017
跑通OpenVINO的例子”。若是这个条件不符合能够参考官方文档和其余资料。
1、“独立”OpenVINO R2019_2 版本中的“super_resolution_demo”例子的
官方例子的名称为:super_resolution_demo
咱们建立的例子名称为:GOVINO_REBUILD
一、建立console程序 GOVINO_REBUILD
须要注意,下面的操做都是64位的,首先咱们作的是Debug模式
二、观察原例子中的头文件,打开 "常规"->"附加包含目录",这些都是咱们须要的(而且已经在机器中正确部署)
其中,gflags和formatreader这个2个库要特别去掉,由于咱们去除了gflags的繁琐判断
和
成功后应该是这样
三、打开原例子中 "连接器"->"输入"->"附加依赖项“,这些都是咱们须要的(而且已经在机器中正确部署)
其中,关于format_reader和gflags的依然是能够去掉,特别要注意cpu_extension.lib的位置要指定正确。
上图是修改后的样子,须要注意的是这里的配置是能够直接拷贝的。
四、项目 =》属性 =》c/c++ =》预处理器=》点击预处理器定义,编辑,加入_CRT_SECURE_NO_WARNINGS
五、将原目录(而不是生成的目录)下的main.cpp和super_resolution_demo.h拷贝到新项目中去(这步也能够不作而直接转第6步)
而且添加到现有项中去
这个时候,能够尝试来运行了,确定会报错的
将gflags和
format_reader_ptr相关的东西去掉。
然后你还须要界面不少参数调整的问题,最后将整个结果运行成功。
六、或者你能够直接来使用GOVINO.cpp,这是通过我简化的“
super_resolution_demo”
直接引入
GOVINO.cpp(能够将main.cpp和
super_resolution_demo.h删除)
根据提示,添加
七、最后开始运行
若是报这个错误,咱们应该知道如何解决
解决方法有两种,或者是将这里的包含cpu_extension.dll的目录包含到Path中去,
或者是找到正确的,拷贝到一块儿,注意咱们是将所有dll都拷贝过来的
这个时候,已经开始能够进入调试。可是你仍然可能会遇到一些问题,参考第2部分。
2、解决因为 R2019_1到R2019_2 升级形成的问题
一、首先明确一下目前发现的R2019_1和R2019_2两个版本在语法方面的不一样,发现两处
一个是在R2019_1中在调入plugin的地方(天龙8步第1步)被改写为Core ie;
二个是
R2019_2的第4
步
,ie.LoadNetwork中,
ie.LoadNetwork(network, "CPU");
须要将”CPU"写清楚,这个在
R2019_1中是能够省略的。
二、容易问题的地方和解决提示
出现问题的缘由大可能是由于系统中安装了多个版本的OpenVINO,DLL文件混乱,好比出现下图这种错误
这里是一些提示
一、程序的目录不要放在有空格和中文的地方
虽然OpenVINO中没有明确说明这个问题,可是这的确是很是容易出现问题的地方:
好比下图中,我经过Depends进行比较,就发现了一些问题
二、使用工具、系统思考分析问题缘由
好比这里出现的问题,程序是能够生成的,可是在Core ie 生成的时候错误,那么我就要去找,Core是什么东西,它来自于inferencePlugin,那么确定就是cpu_extension.dll 或者 inference_engined.dll 这些库的问题;在使用Depends进行寻找,进一步分析问题。
这篇博客中确定还有不少分析不到位的地方,欢迎留言交流!
感谢阅读至此,但愿有所帮助!