手動把ssd模型轉為openvino格式的模型

2021-10-07 16:48:54 字數 2495 閱讀 9046

手動把用object detection api 自訓練的ssd_mobilenet_v2 模型轉成openvino環境下的模型

前提:ubuntu 18.04

安裝好openvino,tensorflow1.14.0

假設前奏都已經完成,直接到模型轉換情景。

進入官方提供的模型轉換指令碼目錄

cd /opt/intel/openvino/deployment_tools/model_optimizer
python3 mo_tf.py --input_model /path/to/model/frozen_inference_graph.pb --output=detection_boxes,detection_scores,num_detections -o /path/to/output/ --tensorflow_use_custom_operations_config /opt/intel/openvino/deployment_tools/model_optimizer/extensions/front/tf/ssd_support_api_v1.14.json --tensorflow_object_detection_api_pipeline_config /path/to/model_config/pipeline.config
但是報錯:

exception occurred during running replacer 「replacement_id」 ():

stopped shape/value propagation at 「postprocessor/cast_1」 node. for

more information please refer to model optimizer faq

google到了解決方法

翻了n多人的建議(經驗)帖之後,終於找到乙個靠譜的命令,再試一下(dbq原作者,我忘記了從**看的了,所以沒法放鏈結。)

python3 mo_tf.py --input_model /path/to/model/frozen_inference_graph.pb --output=detection_boxes,detection_scores,num_detections -o /path/to/output/ --tensorflow_use_custom_operations_config /opt/intel/openvino/deployment_tools/model_optimizer/extensions/front/tf/ssd_support_api_v1.14.json --tensorflow_object_detection_api_pipeline_config /path/to/model_config/pipeline.config -b 1 --data_type fp16 --reverse_input_channels
但是仍然報錯

想了一下,由於模型是幾個月前訓練好的,訓練時候的pipeline.config已經找不到。拿的官方pipeline.config模板,但是識別類別很不一樣,所以改回我訓練的類別數就,歐克啦。nice。

上述都成功了之後,準備測試生成的模型檔案,但是python一直報錯。

modulenotfounderror: no module named 『openvino』

是因為沒有執行setupvars.sh,把它加到.bashrc裡自啟動就行了。

報錯記錄:

[ error ] exception occurred during running replacer 「replacement_id」 (): stopped sha/value propagation at 「postprocessor/tofloat」 node.

the proposed fix ( 「postprocessor/tofloat」 replacing with

「postprocessor/cast」)

ssd的json檔案選錯了,應該用ssd_v2*.json.

成功的執行命令如下:

python mo_tf.py --input_model /path/to/pb/frozen_inference_graph.pb \

--output detection_boxes,detection_scores,num_detections -o /path/to/output/ \

--tensorflow_use_custom_operations_config extensions/front/tf/ssd_v2_support.json \

--tensorflow_object_detection_api_pipeline_config /path/to/ssd_mobilenet_v2_coco.config -b 1 \

--data_type fp32 --reverse_input_channels

SSD模型結構解析

ssd,全稱single shot multibox detector,single shot指的是ssd演算法屬於one stage方法,multibox說明ssd是多框 ssd演算法的效能與速度優於yolo。ssd模型的輸入大小是300x300,或512x512。ssd的主幹特徵提取網路依據vg...

把txt檔案轉為htm

txt檔案閱讀挺不方便的,對於超長的行,還得自動換行,行與行之間間隔太小,背景為白色 下面的程式能夠批量把指定目錄下的txt轉化為htm檔案,htm檔案用瀏覽器開啟後,根據txt檔案的換行一樣,且能夠自動換行,字型大小為16px,行高為22px,背景色為淡藍 批量把某目錄下的所有.txt檔案轉化為對...

將字典轉為模型

使用字典的壞處 dict name jack nsstring name dict name 使用模型的好處 轉換的 1.在viewcontroller中 inte ce mjviewcontroller 存放應用資訊 end implementation mjviewcontroller void...