训练模型转换

概述

创建MindSpore端侧模型的步骤:

  • 首先基于MindSpore架构使用Python创建网络模型,并导出为.mindir文件,参见云端的保存模型

  • 然后将.mindir模型文件转换成.ms文件,.ms文件可以导入端侧设备并基于MindSpore端侧框架训练。

Linux环境

环境准备

MindSpore Lite 模型转换工具提供了多个参数,目前工具仅支持Linux系统,环境准备步骤:

  • 编译下载模型转换工具。

  • 将转换工具需要的动态链接库加入环境变量LD_LIBRARY_PATH。

    export LD_LIBRARY_PATH=${PACKAGE_ROOT_PATH}/tools/converter/lib:${LD_LIBRARY_PATH}
    

    ${PACKAGE_ROOT_PATH}是编译或下载得到的包解压后的路径。

参数说明

下表为MindSpore Lite训练模型转换工具使用到的参数:

参数

是否必选

参数说明

取值范围

默认值

--help

打印全部帮助信息

-

-

--fmk=<FMK>

输入模型的原始格式

MINDIR

-

--modelFile=<MODELFILE>

MINDIR模型文件名(包括路径)

-

-

--outputFile=<OUTPUTFILE>

输出模型文件名(包括路径)自动生成.ms后缀

-

-

--trainModel=true

是否是训练模式;如果要训练模型,必须为true

true, false

false

--configFile=<CONFIGFILE>

1)可作为训练后量化配置文件路径;2)可作为扩展功能配置文件路径。

-

-

参数名称和数值之间使用等号连接且不能有空格。

configFile配置文件采用key=value的方式定义相关参数,量化相关的配置参数详见训练后量化

模型转换示例

假设待转换的模型文件为my_model.mindir,执行如下转换命令:

./converter_lite --fmk=MINDIR --trainModel=true --modelFile=my_model.mindir --outputFile=my_model

转换成功输出如下:

CONVERTER RESULT SUCCESS:0

这表明 MindSpore 模型成功转换为 MindSpore 端侧模型,并生成了新文件my_model.ms。如果转换失败输出如下:

CONVERT RESULT FAILED:

程序会返回错误码和错误信息。