凡科是免费做网站吗,中国建设部官网信息查询,做兼职哪个网站好,什么是营销型企业网站最近两天在工业派ubuntu16.04上配置了Intel神经计算棒二代——Intel Neural Compute Stick#xff0c;配置过程之艰辛我都不想说了#xff0c;实在是太折磨人。不过历尽千辛万苦#xff0c;总算让计算棒可以在工业派ubuntu16.04系统上跑了#xff0c;还是蛮欣慰的。 注配置过程之艰辛我都不想说了实在是太折磨人。不过历尽千辛万苦总算让计算棒可以在工业派ubuntu16.04系统上跑了还是蛮欣慰的。 注以下所说的计算棒默认说的是计算棒二代不是计算棒一代
下面简单记录一下我在配置计算棒过程中遇到的一些坑
一、运行官方demo遇到的坑
1.一定要按照官网来安装配置加速棒一定要按照官网来安装配置加速棒一定要按照官网来安装配置加速棒不要在网上瞎几把找帖子我是深有体会很多都写的不明不白只有官网的配置教程才是最简单的不会让你掉进更多坑教程前面的一些概述一定要认真看上面写明了一些软硬件配置要求
附上一些重要链接
官网配置教程https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_raspbian.html
最新OpenVINO™Toolkit软件包下载https://download.01.org/opencv/2019/openvinotoolkit/
下载下来的安装包形式l_openvino_toolkit_raspbi_p_version.tgz
注博主工业派系统是ubuntu16.04虽然不是树莓派官方系统但是树莓派也是32位的linux系统所以在工业派上配置计算棒和在树莓派上配置计算棒是一样的操作最主要原因还是工业派官方支持计算棒
注工业派的bash.bashrc路径为/etc /bash.bashrc bash.bashrc文件主要用于设置登录时控制台输出的信息
2.前车之鉴如图一所示建议软件安装包使用最新版2019_R1.1不推荐安装2018_R5。博主最先尝试使用了2018_R5在后面配置计算棒的时候发现会报错如图二所示一直无法解决换成2019_R1.1版本后就没有这个问题了 图一 图二 3.cmake版本号一定要正确如三图所示官网教程明确说明 cmake 版本号一定要大于等于3.7.2 图三
如果cmake版本号低于3.7.2则在后面执行命令cmake -DCMAKE_BUILD_TYPERelease -DCMAKE_CXX_FLAGS-marcharmv7-a /opt/intel/openvino/deployment_tools/inference_engine/samples 时会报图四所示错误 图四
这里官网也有点坑如图五所示如果按照官网命令 sudo apt install cmake 来安装cmake会发现安装的cmake版本号会低于3.7.2博主一开始就忽略了这里后面绕了一圈才发现是自己前面这里的cmake没有配置好简直了 图五
博主后面是手动安装的cmake3.13.0安装教程链接放在这里新手上路——树莓派3B安装cmake_树莓派3b安装cmake无法连接官网-CSDN博客
安装完cmake后执行 cmake --version 时如果报错显示-bash: /usr/bin/cmake: No such file or directory 则应该是系统没有找到 cmake 命令。解决办法做一个链接即可即执行命令ln -s /usr/local/bin/cmake /usr/bin 4. 在终端显示 OpenVINO environment initialized 后说明 OpenVINO环境已经初始化成功接着输入python3进入编辑器再输入import cv2 可能会出现如图六所示报错 图六
解决办法
执行命令sudo vi ~/.bashrc
在文档尾部加上export LD_LIBRARY_PATHLD_LIBRARY_PATH:/opt/intel/openvino/inference_engine/lib/armv7l/ 最后执行命令source ~/.bashrc
成功
注核心思想就是将libinference_engine.so文件所属目录添加到 linux 的环境变量中这样用户就可以访问到这个目录下的libinference_engine.so文件也就不会引起报错了 5. import openvino可能也会出现如下报错 原因没有把需要的openvino模块目录添加到系统的pythonpath中导致找不到openvino模块
解决办法
执行命令sudo vi ~/.bashrc
在文档尾部加上export PYTHONPATH/opt/intel/openvino/python/python3.5/armv7l:$PYTHONPATH 退出编辑执行命令source ~/.bashrc
成功 6. python3 进入python命令行后输入 import cv2 再输入 cv2.__version__发现结果是 ‘4.1.0-openvino’这表明openvino配置成功但是如果 sudo python3 进入python命令行后输入 import cv2 再输入 cv2.__version__可能会发现结果是 ‘4.1.0’而不是配置openvino后应该正确显示的 ‘4.1.0-openvino’。出现这种差别的原因是 sudo 命令会使系统自动重置PATH环境变量这样就区别于普通用户执行命令的环境变量。解决这个问题的方法 执行命令sudo nano /etc/sudoers 注释 Defaults env_reset 这行代码
在文件的最后添加如下两行代码 Defaults env_keep PYTHONPATH Defaults env_keep Any other env variable you want to keep 保存退出大功告成!
参考https://blog.csdn.net/weixin_34390105/article/details/87297075 7.在使用OpenCV * API运行人脸检测模型推理时执行 python3 openvino_fd_myriad.py 可能会报如下错误 dnn.cpp:2538: error: (-2:Unspecified error) Build OpenCV with Inference Engine to enable loading models from Model Optimizer. in function readFromModelOptimizer 解决办法 先执行命令source /opt/intel/openvino/bin/setupvars.sh 再执行命令echo source /opt/intel/openvino/bin/setupvars.sh ~/.bashrc 注执行第一条命令只是临时设置环境变量的第二条命令才是永久的永久设置环境变量 8.其它操作按照官网操作步骤一步一步来即可 ----------------------------运行官方demo效果-------------------------------- 二、运行自己网络模型遇到的坑
1.在电脑ubuntu16.04上安装openVINO
如果要将自己的网络模型用于计算棒推理则必须将该模型转换为由推理引擎用作输入的.bin和.xml中间表示(IR)文件。因为工业派(树莓派)上ubuntu16.04上安装的openVINO是阉割版的功能不全不支持模型转换所以为了实现模型转换还必须在win10或者ubuntu上安装一遍完整版openVINO。因为我在win10上打死装不上vs2019神坑所以我放弃在win10装openVINO转而在电脑ubuntu16.04上装openVINO。安装的时候才发现在电脑ubuntu16.04安装openVINO真的是贼简单附上官方安装网址https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html 2.将tensorflow转换为movidius格式(.xml .bin)------注是冻结tensorflow模型SSD Mobilenet V2
2.1 执行命令 cd /opt/intel/openvino/deployment_tools/model_optimizer 2.2 执行命令sudo python3 mo.py --input_model frozen_inference_graph.pb --tensorflow_use_custom_operations_config extensions/front/tf/ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config pipeline.config --input_shape[1,416,416,3] --data_typeFP16
成功
注所需frozen_inference_graph.pb、pipeline.config文件需要自己提前准备好
参考网址
https://docs.openvinotoolkit.org/latest/_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow.html
https://software.intel.com/en-us/forums/computer-vision/topic/785586
因特尔神经计算棒(NCS)树莓派yolo-v3实现object-detection_树莓派 神经计算棒-CSDN博客 3.在工业派上使用转换后的xml和bin文件
执行 python3 **.py
报错 表示花了两三天时间都没解决心态都搞崩了只想说fuck目前针对这种情况博主还是没找到解决办法但是我有一些解决思路写在这里可以供需要的朋友参考
经过多次试验发现这个报错和opencv的cv2.videoCpture方法有关当videoCpture的参数是0或1时python3 **.py执行正常表明opencv是可以打开摄像头的。但是当videoCpture的参数是本地视频文件的路径时执行python3 **.py就会出现如上报错我猜测可能是opencv没安装正确。经过百度、谷歌查询得知可能是没有安装 ffmpeg 但是博主去各种安装、重新编译opencv还是没解决这个问题所以到最后只能放弃了。
参考网址参考了还是没解决问题想哭~
linux下opencv打不开视频的解决方法_linux arm 编译opencv 无法打开视频-CSDN博客
OpenCV VideoCapture error: VIDIOC_REQBUFS: Inappropriate ioctl for device - Stack Overflow
-----------曲线救国办法-----------------------
妈哟实在解决不了怎么办呢只能换个办法呗反正只要能成功就行
执行 sudo python3 **.py
又报错其实在情理之中毕竟只是提高了一下权限但是这个报错一看的话感觉也有点烧脑如下 仔细一看是因为加了sudo后路径 /opt/intel/openvino/python/python3.5/armv7l/openvino/inference_engine下的libmyriadPlugin.so没有找到。自行cd到该文件目录下发现是真没有libmyriadPlugin.so这个文件所以系统无法加载这个文件。解决办法就是想办法在其它目录中找到libmyriadPlugin.so文件然后复制到 /opt/intel/openvino/python/python3.5/armv7l/openvino/inference_engine下即可。经过查找发现 /opt/intel/openvino/deployment_tools/inference_engine/lib/armv7l 目录下有libmyriadPlugin.so文件于是将该文件复制到 /opt/intel/openvino/python/python3.5/armv7l/openvino/inference_engine下再运行sudo python3 **.py发现还是有相同的报错。百度后发现是因为 .so文件是有依赖的于是博主索性将 /opt/intel/openvino/deployment_tools/inference_engine/lib/armv7l 下的所有文件都复制拷贝到 /opt/intel/openvino/python/python3.5/armv7l/openvino/inference_engine下再运行sudo python3 **.py发现这回成功了 三、总结
最后两个报错我几近崩溃熬了好久都没熬出答案经过不断摸索总算是解决了其中一个问题尽管另一个问题没解决但是已经不影响操作了不过还是希望解决了VIDIOC_REQBUFS: Inappropriate ioctl for device这个问题的朋友可以告知一下万分感谢我也总算是在工业派上利用计算棒跑通了tensorflow程序这一路踩得地雷、掉的坑实在太多博主早已面目全非激情不再好在捱到了最后顺利解决了问题终于可以松一口气了总结一下就是遇到问题千万不要轻言放弃一定要动用所有资源去寻找答案努力努力再努力总会柳暗花明的当然很多时候也许也需要换一种思维去寻找解决问题的办法不要在一棵树上吊死。不管什么猫能捉到耗子的猫就是好猫 仅供参考