anaconda删源:html
conda config --remove-key channels
NCS2python
第一步:下载OpenVINOlinux
在树莓派上也可使用该计算棒,先安装OpenVINO工具,再在树莓派上安装Inference Engine git
下载连接:https://software.intel.com/en-us/openvino-toolkit/choose-download/free-download-linuxgithub
点击register & download,若是没有注册intel帐户,则自动跳转到注册页面。json
由于菜鸟一枚,因此我选择了比较完善的安装包。api
安装包下载到了/download路径中,进入该路径,解压。bash
cd /home/wmy/download
tar -xvzf l_openvino_toolkit_p_2019.1.094.tgz
cd l_openvino_toolkit_p_2019.1.094
采用gui的安装方式。网络
sudo ./install_GUI.sh
一路next便可。ide
第二步:安装依赖项
cd /opt/intel/openvino/install_dependencies
sudo -E ./install_openvino_dependencies.sh
我在运行sudo -E ./install_openvino_dependencies.sh时报错了,说是找不到该命令。因而进入该路径下看,发现是有该文件的,因而强制运行了该sh文件。
第三步:设置环境变量
vi /home/wmy/.bashrc
将source /opt/intel/openvino/bin/setupvars.sh加入最后一行
保存退出。
第四步:配置model optimizer
由于我暂时只用到了tensorflow,所以就没所有设置。
先进入模型优化器路径
cd /opt/intel/openvino/deployment_tools/model_optimizer/install_prerequisites
而后更新tensorflow
sudo ./install_prerequisites_tf.sh
第五步:运行验证脚本验证安装
先进入推理引擎演示目录
cd /opt/intel/openvino/deployment_tools/demo
运行图像分类验证脚本(该命令将下载一个squeezenet模型,使用模型优化器,将模型转化为bin和xml(IR)文件。
./demo_squeezenet_download_convert_run.sh
运行该命令,会报错说少几个库,安装便可。
报错缺乏request,运行命令conda install requests,安装。
报错缺乏yaml,运行命令conda install pyyaml安装。
报错缺乏networkx,运行命令conda install networkx安装。
运行该模型
./demo_security_barrier_camera.sh
树莓派上配置计算棒
注意!不要在树莓派上安装NCSDK,最好按照教程https://blog.csdn.net/qqqzmy/article/details/85213414配置树莓派
OpenVINO深度学习须要使用的是IR文件(xml和bin),xml文件中包含优化之后的网络拓扑结构,bin文件优化以后的模型参数和模型变量。
在openvino中使用tensorflow,须要转换一些层。
转换脚本为mo_tf.py,存放于/opt/intel/computer_vision_sdk/deployment_tools/model_optimizer。
例子1github地址https://github.com/CXianRen/Openvino_NCS
按照教程,下载整个工程。
先运行python mnist_train.py,生成如下文件:
再运行python create.py,将以上文件拷贝到ncs文件夹内
运行python mo_tf.py --input_meta_graph ./ncs/cnn-mnist_inference.meta --batch 1
生成xml和bin文件
最后进入ncs文件夹,运行python run.py获得运行结果。
例子2:
参考连接:https://blog.csdn.net/bleedingfight/article/details/86259268
下载ssd模型,保存到/home/wmy/download/ncs2test并解压。
终端进入该路径,输入命令
python mo_tf.py --input_model ./frozen_inference_graph.pb --output=detection_boxes,detection_scores,num_detections --tensorflow_use_custom_operations_config /home/wmy/intel/openvino_2019.1.094/deployment_tools/model_optimizer/extensions/front/tf/ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config /home/wmy/download/ncs2test/ssd_inception_v2_coco_2018_01_28/pipeline.config
将生成xml和bin文件
输入命令
ssd_bin=/home/wmy/inference_engine_samples_build/intel64/Release/object_detection_sample_ssd network=/home/wmy/download/ncs2test/ssd_inception_v2_coco_2018_01_28/frozen_inference_graph.xml ${ssd_bin} -i example.bmp -m ${network} -d CPU
将获得检测结果,在路径中生成一个out_0.bmp。
可是该例子好像没有用到计算棒,只用到了openvino。