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。