AI OpenVINO

部署挑战

1、把训练环境的深度学习网络部署到嵌入式平台做推理,会有些技术挑战要解决。

1)工业界有很多深度学习框架,如Caffe,TensorFlow,MXNet,Kaldi等等。

2)训练是在数据中心或服务器集群。而推理是在嵌入式平台(经过性能和耗电优化),这些平台在软件(编程语言,第三方依赖,内存消耗,支持的操作系统)和硬件(不同数据类型,电源有限)上都有很大限制,因此,不推荐甚至做不到用训练框架来做推理。一个可选的方案是,使用针对特定硬件平台优化过的专用推理API。

3)要支持越来越多的network和layer,还要保证转换的network的准确率。

部署流程

Model Optimizer

转换TensorFlow模型 

1、--log_level=DEBUG选项,可以显示更多错误信息,方便排查问题。

 

2、SavedModel格式的模型,要用--saved_model_dir选项,而不是--input_model,否则GraphDef函数加载模型会失败。

3、TensorFlow模型的shape有些维度常常没有定义完整(值为-1),这时必须利用--input_shape选项来显式指定shape,或者用-b选项来单独指定batch维度。

4、

model server

使用gRPC接口,兼容TensorFlow serving API。 

参考链接:

https://docs.openvinotoolkit.org/latest/_docs_IE_DG_Introduction.html

https://github.com/IntelAI/OpenVINO-model-server

原文地址:https://www.cnblogs.com/yangwenhuan/p/10987776.html