更新时间:2024-01-02 gmt 08:00

模型转换操作-凯发k8国际娱乐官网入口

modelarts模型转换页面计划2024年2月29日下线,您可以通过链接下载模型转换工具,线下转换成om格式模型,或通过链接下载离线转换模型工具,转换为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算子。
  • 只支持和清单中的算子,并需满足算子限制条件。

创建模型转换任务

  1. 登录modelarts管理控制台,在左侧导航栏中选择“ai应用管理 > 模型转换”,进入模型转换列表页面。
  2. 单击左上角的“创建任务”,进入任务创建任务页面。
  3. “创建任务”页面,参考以下说明,填写转换任务的详细参数。
    1. 填写转换任务的“名称”“描述”信息。
    2. 填写转换任务的具体参数,详细描述请参见表1
      表1 参数说明

      参数

      说明

      输入框架

      目前支持转换的框架有“caffe”“tensorflow”

      转换输入目录

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

      输出框架

      支持“mindspore”

      转换输出目录

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

      转换模板

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

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

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

      图1 创建模型转换任务
  4. 任务信息填写完成后,单击右下角“立即创建”

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

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

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

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

删除模型转换任务

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

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

  • 删除单个

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

  • 批量删除

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

分享:
网站地图