ubuntu openVINO安裝&配置
安裝ubuntu16.04版openVINO
參考官網(wǎng)下載地址:
本文引用地址:http://butianyuan.cn/article/202008/416588.htmhttps://software.intel.com/content/www/cn/zh/develop/tools/openvino-toolkit/download.html?cid=other&source=eepw_web-res_ceds&campid=prc_q2_iotg_ov-da&content=web-reg_all
參考官網(wǎng)安裝教程:
https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html#install-openvino
注意的點(diǎn):
1 配置tensorflow等模型優(yōu)化器的時(shí)候,官網(wǎng)使用的是sudo pip命令安裝依賴包,但是由于我們有虛擬環(huán)境,所以我需要在虛擬環(huán)境中安裝
首先,激活虛擬環(huán)境
然后,由于我的虛擬環(huán)境存在tensorflow和numpy,所以不需要安裝這兩個(gè),
制作去掉這兩個(gè)安裝包的requirements_tf_tzlmodify.txt,然后使用pip install -r 進(jìn)行安裝。
2 修改/opt/intel/的權(quán)限為tongzhlin
sudo chown -R tongzhilin:tongzhilin /opt/intel
sudo chown -R tongzhilin:tongzhilin ~/intel
3 執(zhí)行Demo文件夾下的腳本的時(shí)候,報(bào)錯(cuò)找不到‘yaml’
由于我們使用的是virtualenv虛擬環(huán)境,所以正確的安裝是:
激活虛擬環(huán)境后
pip install PyYAML
4 demo/下的兩個(gè)腳本,不用sudo執(zhí)行也可以成功,如果需要打開(kāi)圖片,則需要sudo執(zhí)行。
5
demo_squeezenet_download_convert_run.sh:腳本會(huì)自動(dòng)下載和安裝依賴包,并且下載測(cè)試Caffe模型將其轉(zhuǎn)成OpenVINO的xml/bin文件,測(cè)試圖片是一張轎車(chē)照片。
依賴包安裝在:~/inference_engine_samples_build
源碼在:/opt/intel/openvino/deployment_tools/inference_engine/samples
Caffe模型下載到 ~/openvino_models
demo_security_barrier_camera.sh:物體識(shí)別,車(chē)牌識(shí)別.同上面的命令也會(huì)自動(dòng)下載安裝依賴包,自動(dòng)下載openvino的模型
6 linux下識(shí)別VPU需要更新usb驅(qū)動(dòng)規(guī)則
source /opt/intel/openvino/bin/setupvars.sh
cd /opt/intel/openvino/install_dependencies
./install_NCS_udev_rules.sh
模型轉(zhuǎn)換指令
通過(guò)meta轉(zhuǎn)換,這個(gè)命令總是轉(zhuǎn)換失敗,還沒(méi)有解決
./mo_tf.py --input_meta_graph ~/facenet/models/20180402-114759/model-20180402-114759.meta --output_dir ~/openvino_models/ --freeze_placeholder_with_value “phase_train->False” --reverse_input_channels
通過(guò)pb文件轉(zhuǎn)換
facenet提供了模型轉(zhuǎn)換工具,把checkpoint模型轉(zhuǎn)換成pb模型
python src/freeze_graph.py ./models_cslead/20190528-141841/ ./models_cslead/20190528-141841/20190528-141841.pb
pb轉(zhuǎn)換:
./mo_tf.py --input_model ~/facenet/models_cslead/20190528-141841/20190528-141841.pb --output_dir ~/openvino_models/facenet/20190528-141841/ --freeze_placeholder_with_value “phase_train->False” --reverse_input_channels
參數(shù):
–input_shape “[1,160,160,3]”
–data_type=FP16 #vpu支持的浮點(diǎn)格式
模型轉(zhuǎn)換成功后,vpu不能使用轉(zhuǎn)換后的模型
在openVINO環(huán)境下,很長(zhǎng)一段時(shí)間我轉(zhuǎn)換的facenet模型在第一代和第二代計(jì)算棒上的返回結(jié)果都是1和-1,不能使用,非常苦惱,我以為是1所描述的問(wèn)題,但是并不是,openVINO完美支持Inception Resnet v1和Inception Resnet v2,而且計(jì)算棒1代和計(jì)算棒2代也完美支持Inception Resnet v1和Inception Resnet v2網(wǎng)絡(luò),最終的解決方法是:
(1)cpp文件的FP32改成FP16
(2)由于cpp沒(méi)有float16精度,所以需要我們自定義這個(gè)精度,預(yù)白化后的圖像,轉(zhuǎn)換成float16精度,傳給計(jì)算棒。
(3)同理,輸出結(jié)果也要由float16精度轉(zhuǎn)換成float32精度
(4)滿足以上條件后,你會(huì)發(fā)現(xiàn),結(jié)果依然是1,-1…,這就要修改最為關(guān)鍵的一步,打開(kāi)轉(zhuǎn)換后的模型,找到最后的“Normalize”項(xiàng),across_spatial=“0” 改成 across_spatial=“1”,這就OK拉,興奮。
驗(yàn)證
cd /home/tongzhilin/inference_engine_samples_build/intel64/Release
cpu
./classification_sample -i ~/facenet/data/lfw_data/lfw_160/Rose_Linkins/Rose_Linkins_0001.png ~/facenet/data/lfw_data/lfw_160/Rose_Marie/Rose_Marie_0001.png -m ~/openvino_models/facenet/20190528-141841/20190528-141841.xml
./classification_sample -i ~/facenet/data/lfw_data/lfw_160/Alberto_Fujimori/ -m ~/openvino_models/facenet/20190528-141841/20190528-141841.xml
vpu
./classification_sample -i ~/facenet/data/lfw_data/lfw_160/Rose_Linkins/Rose_Linkins_0001.png ~/facenet/data/lfw_data/lfw_160/Rose_Marie/Rose_Marie_0001.png -m ~/openvino_models/facenet_fp16/20190528-141841/20190528-141841.xml -d MYRIAD
./classification_sample -i ~/facenet/data/lfw_data/lfw_160/Rose_Linkins/ -m ~/openvino_models/facenet_fp16/20190528-141841/20190528-141841.xml -d MYRIAD
python 指令
python classification_sample.py -i ~/facenet/data/lfw_data/lfw_160/Rose_Linkins/Rose_Linkins_0001.png ~/facenet/data/lfw_data/lfw_160/Rose_Marie/Rose_Marie_0001.png -m ~/openvino_models/facenet_fp16/20190528-141841/20190528-141841.xml -d MYRIAD
python classification_sample.py -i ~/facenet/data/lfw_data/lfw_160/Rose_Linkins/Rose_Linkins_0001.png ~/facenet/data/lfw_data/lfw_160/Rose_Marie/Rose_Marie_0001.png -m ~/openvino_models/facenet/20190528-141841/20190528-141841.xml
編譯
cd /home/tongzhilin/inference_engine_samples_build/classification_sample
cp ~/inference_engine/samples/classification_sample/main.cpp /opt/intel/openvino/inference_engine/samples/classification_sample/
想要查看更多OpenVINO相關(guān)技術(shù)與資料,請(qǐng)戳>> http://butianyuan.cn/openvino
評(píng)論