早餐|第十八期 · 开始使用模型优化器
栏目:行业动态 发布时间:2024-04-07
爱学习的OpenVINO中文社区内容来源|曹慧燕内容排版|李擎大家好,这里是OpenVINO早餐在上一期的节目中,我带大家一起看了模型优化器到底对模型做了哪些优化从这一期开始,我们就来看看如何使用模型优化器对模型进行转换。作者介绍○曹慧燕英特尔IOTGEdgeAI工程师正餐部分视频放映【持续更新】吃OpenVINO早餐,玩转深度学习部署文稿阅读开官方开发文档:GotoGui

爱学习的 OpenVINO 中文社区

内容来源| 曹慧燕
内容排版| 李擎

在这里插入图片描述
大家好,
这里是OpenVINO早餐

在上一期的节目中,
我带大家一起看了模型优化器
到底对模型做了哪些优化

从这一期开始,
我们就来看看如何
使用模型优化器对模型进行转换。

作者介绍

○ 曹慧燕

英特尔
IOTG Edge
AI 工程师

正餐部分

视频放映

【持续更新】吃 OpenVINO 早餐,玩转深度学习部署

文稿阅读

开官方开发文档:https://docs.openvinotoolkit.org/,” Go to Guides >”,找到 Model Optimizer Developer Guide。

模型优化器的工作原理

  • 模型优化器并不用来做模型推理
  • 作用是把支持的模型框架训练出来的模型转成IR文件
  • 在转换过程中,除了在上一期中介绍的特定的模型优化技术以外,还有一些通用的优化。比如:移除推理阶段不需要的层,如:Dropout;使用一个操作算子替代一组操作节点,从而减少节点数,降低推理时间。

了解模型优化器是否支持你的模型

可以在Supported Framework Layers中查找模型优化器支持的层,如果你的模型中有不支持的层,或者有你自己定义的算法,需要参考Custom Layers in the Model Optimizer 去自定义这些算法。

源代码目录结构

在这里插入图片描述

  • 在使用模型优化器的时候,我们调用 mo.py 或者带 Framework 的 py 即可,他们都是调用 mo目录下的 main 函数。

  • mo 目录中,有 front, middle, back, ops 这样的目录:

    front:前端的校验,包括:参数的校验,对原始模型的分析,检查模型优化器是否支持等。
    middle:对模型进行优化
    back:生成IR
    ops:定义了一些通用的操作

extensions 目录中定义了对支持的 Framework 中的模型的操作。通常,你自定义的算法需要放在这个目录中。

配置模型优化器

因为模型优化器是将OpenVINO支持的模型转成IR,因此,在对原始模型进行解析时,必须需要安装对应的框架以及相关的依赖库。

运行<INSTALL_DIR>/deployment_tools/model_optimizer/install_prerequisites目录下的install_prerequisites.sh或install_prerequisites.bat即可。

通常这一步在安装 OpenVINO 工具包的时候会建议大家配置好,如果大家在安装的时候没有配置,那在使用模型优化器之前必须配置好。
因为这些都是 python 库,对 python 熟悉的小伙伴可以创建虚拟环境并在虚拟环境中安装及使用模型优化器

在这里插入图片描述
该脚本会安装模型优化器支持的所有框架,也可以只安装特定的框架:

在这里插入图片描述
配置好环境以后,就可以开始使用模型优化器了。

使用模型优化器这一部分内容我会在下一期给大家介绍。
今天的分享就到这里,我们下期节目见!

原文发布于2020-09-17:早餐|第十八期 · 开始使用模型优化器

关注我们,让开发变得更有趣👇
在这里插入图片描述

微信号:openvinodev
B站:OpenVINO 中文社区

*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.

平台注册入口