华为云AI开发平台ModelArts模型转换操作_云淘科技

ModelArts模型转换页面计划2024年2月29日下线,您可以通过链接下载ATC模型转换工具,线下转换成om格式模型,或通过链接下载MindSpore Lite离线转换模型工具,转换为mindir格式模型进行推理。其中ModelArts开发环境支持在西南-贵阳一Region,将ONNX或PyTorch模型转换到mindir格式。

针对您在ModelArts或者本地构建的模型,希望将模型应用于Ascend芯片、ARM或GPU上,此时,您需要将已有模型转换成相应的格式后,再应用至芯片。

ModelArts提供了模型转换功能,将已有的模型转换成所需格式。

模型转换主要应用场景如下所示:

使用Caffe(.caffemodel格式)或者Tensorflow框架(“frozen_graph”或“saved_model”格式)训练的模型,使用转换功能可转换成om格式,转换后的模型可在昇腾(Ascend)芯片上部署运行。

约束限制

模型转换当前只支持Ascend芯片类型。
模型转换当前仅支持原始框架类型为Caffe和Tensorflow的模型转换。当原始框架类型为Caffe时,输入数据类型为FLOAT;当原始框架类型为Tensorflow时,输入数据类型为INT32、BOOL、UINT8、FLOAT。
ModelArts提供了转换模板供用户选择,只能选择对应模板进行转换,支持的模板描述,请参见转换模板。
针对用于Ascend芯片的模型转换,其转换限制说明可参见“昇腾开发者社区”的约束及参数说明。
压缩/转换任务指定的OBS路径,需确保OBS目录与ModelArts在同一区域。
转换后的模型,再导入ModelArts时,需从模板中选择元模型。
支持模型文件类型为onnx的模型转换,转换时会先将其转换为Tensorflow框架的FrozenGraphDef格式,然后再转换为om格式。转换工具要求onnx版本为1.6.0,opset为9+。
当原始框架类型为Caffe时,模型文件(.prototxt)和权重文件(.caffemodel)的op name、op type必须保持名称一致(包括大小写)。
当原始框架类型为Caffe时,除了top与bottom相同的layer以外(例如BatchNorm,Scale,ReLU等),其他layer的top名称需要与其name名称保持一致。
当原始框架类型为TensorFlow时,支持FrozenGraphDef格式和SavedModel格式。如果是SavedModel格式,转换时会先将其转换为FrozenGraphDef格式,然后再转换为om格式。
不支持动态shape的输入,例如:NHWC输入为[?,?,?,3]多个维度可任意指定数值。模型转换时需指定固定数值。
输入数据最大支持四维,转维算子(reshape、expanddim等)不能输出五维。
模型中的所有层算子除const算子外,输入和输出需要满足“dim!=0”。
模型转换不支持含有训练算子的模型。
量化(uint8)后的模型不支持模型转换。
模型中的算子只支持2D卷积,暂不支持3D卷积。暂不支持多批量转换batch_normalization_1算子和FusedBatchNorm算子。
只支持Caffe算子清单和Tensorflow算子清单中的算子,并需满足算子限制条件。

创建模型转换任务

登录ModelArts管理控制台,在左侧导航栏中选择“AI应用管理 > 模型转换”,进入模型转换列表页面。
单击左上角的“创建任务”,进入任务创建任务页面。
在“创建任务”页面,参考以下说明,填写转换任务的详细参数。

填写转换任务的“名称”和“描述”信息。
填写转换任务的具体参数,详细描述请参见表1。

表1 参数说明

参数

说明

输入框架

目前支持转换的框架有“Caffe”和“TensorFlow”。

转换输入目录

用于转换的模型所在目录,此目录必须为OBS目录,且模型文件的目录需符合ModelArts规范,详情请参见模型转换输入目录规范。

输出框架

支持“MindSpore”。

转换输出目录

模型转换完成后,根据此参数设置的目录存储模型。输出目录需符合ModelArts规范要求,详情请参见模型转换输出目录说明。

转换模板

ModelArts提供了一系列的模板,定义转换功能以及转换过程中所需的参数。当前支持的转换模板详细描述请参见转换模板。转换模板右侧下拉框,将根据您选择的“输入框架”和“输出框架”,展现匹配的模板。

在下拉框选择模板后,下方将呈现此模板对应的高级参数。例如量化精度,方便您可以对模型转换任务进行更高阶的设置。

不同的转换模板,其对应的高级选项支持的参数不同,每个模板支持的详细参数,请参见转换模板。

图1 创建模型转换任务

任务信息填写完成后,单击右下角“立即创建”。

创建完成后,系统自动跳转至“模型转换”列表中。刚创建的转换任务将呈现在界面中,其“任务状态”为“初始化”。任务执行过程预计需要几分钟到十几分钟不等,请耐心等待,当“任务状态”变为“成功”时,表示任务运行完成并且模型转换成功。

如果“任务状态”变为“失败”,建议单击任务名称进入详情页面,查看日志信息,根据日志信息调整任务的相关参数并创建新的转换任务。

模型转换成功后,有如下几个使用场景:

可以在HiLens管理控制台,导入转换后的模型,导入后可将模型安装部署至HiLens Kits设备上。
登录“转换输出目录”对应的OBS路径,下载目录中的模型(.om格式),部署至您的设备中。

删除模型转换任务

针对运行结束的任务,如果不需要再使用,您可以删除转换任务。其中,“运行中”或“初始化”状态中的任务不支持删除操作。

任务删除后,将无法恢复,请谨慎操作。

删除单个

在“模型转换列表”中,针对需要删除的单个任务,您可以在此任务所在行,单击操作列的“删除”,完成删除操作。

批量删除

在“模型转换列表”中,勾选多个待删除的任务,然后单击左上角“删除”,完成批量任务的删除操作。

父主题: 模型转换

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家