四、模型优化器与推理引擎
1 DLDT介绍
DLDT:深度学习部署工具包(Deep Learning Deployment Toolkit)
通过DLDT,模型可被转化为IR文件部署在Intel支持的硬件设备上,在该流程中原始模型经历了模型优化器和推理引擎两级优化,具体流程如下图所示。
2 模型优化器(Model Optimizer)
-
模型优化器:跨平台的命令行工具,负责将各种深度学习框架的模型转换为IR文件,以便推理引擎对其进行读取、加载与推理。
-
模型优化器的特点
-
模型优化器的使用与硬件环境无关,其对模型的所有处理均是在不知道最终部署设备的前提下完成的,因此IR文件可在任何受支持的设备上运行。
-
生成的IR文件可在AI应用的推理过程中反复使用,转换成IR文件后,模型的准确度会存在轻微下降,但性能会变得更强
-
在 ./OpenVINO/deployment_tools/model_optimizer/extensions/front/ 路径下,可找到模型各层的实际代码,可在此基础上进行自定义,以 LayerNorm 层为例,其部分代码如下:
-
若模型中的某层不受支持,可选择创建自定义层。若OpenVINO不支持你的拓扑结构,可使用相应的方法剪贴模型网络,并将其某部分或子图替换为可被支持的结构。
-
-
模型优化器功能
-
可将多种深度学习框架的模型转换为IR文件
-
可将模型网络操作映射到支持的库、内核或层
-
可进行预处理操作,如采用 –reverse_input_channel 将输入通道顺序进行转换,从RGB转换为BGR
-
可针对神经网络进行优化,调整神经网络的输入批次大小以及输入尺寸
-
可调整模型数据或权重的格式,如FP32、FP16及INT8,不同设备支持的数据格式不同,具体如下:
-