文档首页/ 华为HiLens/ 常见问题/ 技能开发/ 模型转换失败怎么办?
更新时间:2024-10-29 GMT+08:00

模型转换失败怎么办?

如果模型转换失败,可通过查看日志信息来查看模型转换失败的原因,进而针对性地解决问题。

查看模型转换日志

  1. 登录华为HiLens管理控制台,在左侧导航栏中选择“技能开发>模型管理”,进入“模型管理”页面。

    如果模型转换失败,您可以在列表中查看模型状态为“转换失败”

  2. 单击操作列的“查看详情”,进入“模型详情”页面。

    您可以查看模型的“基本信息”“日志信息”,如图1所示。

    针对需要转换的模型,您可以在“日志信息”区域右上方通过关键字搜索快速定位日志中关键信息的位置。

    图1 模型详情

解决模型转换问题

针对日志报错信息解决模型转换问题。

  • 确认上传的模型文件是否正确

    导入自定义模型前,需要将自定义的模型上传到OBS服务,非“.om”格式的模型上传文件包含caffe模型文件“.caffemodel”“.prototxt”和配置文件“.cfg”,或tensorflow的“.pb”模型文件和配置文件“.cfg”

  • 确认待转换的模型算子是否为“.om”模型支持的TensorFlow和Caffe算子边界

    并非所有模型都能转换成功,进行导入(转换)模型操作前,请确认是否为“.om”模型支持的TensorFlow和Caffe算子边界,详情请见附录Caffe算子边界Tensorflow算子边界

  • 确认模型转换时所填写的参数是否准确

    详情的参数说明请见导入模型参数。此处列举常见易错的参数说明。

    • “输入张量形状”

      “输入张量形状”指要添加张量形状,即模型输入数据的shape格式为NHWC,如“input_name:1,224,224,3”,必填项。“input_name”必须是转换前的网络模型中的节点名称。当模型存在动态shape输入时必须提供。例如“input_name1:?,h,w,c”,该参数必填,其中“?”为batch数,表示1次处理的图片数量,需要根据实际情况填写,用于将动态shape的原始模型转换为固定shape的离线模型。

      如果存在多个输入,请以分号(;)隔开。

    • “转换类型”

      根据导入的模型选择正确的模型转换类型。

      • TF-FrozenGraph-To-Ascend-HiLens

        该模板将TF frozen_graph模型转换成可在ascend芯片上运行的模型。HiLens Kit系统固件版本为2.2.200.011时,建议使用此模板进行转换。

      • TF-SavedModel-To-Ascend-HiLens

        该模板将TF saved_model模型转换成可在ascend芯片上运行的模型。HiLens Kit系统固件版本为2.2.200.011时,建议使用此模板进行转换。

      • TF-FrozenGraph-To-Ascend

        该模板将TF frozen_graph模型转换成可在ascend芯片上运行的模型。HiLens Kit系统固件版本低于2.2.200.011时,建议使用此模板进行转换。

      • TF-SavedModel-To-Ascend

        该模板将TF saved_model模型转换成可在ascend芯片上运行的模型。HiLens Kit系统固件版本低于2.2.200.011时,建议使用此模板进行转换。

      • Caffe转Ascend

        支持将Caffe模型转换成可在ascend芯片上运行的模型。

      • TF-FrozenGraph-To-Ascend-893

        该模板将TF frozen_graph模型转换成可在ascend芯片上运行的模型。HiLens Kit系统固件版本低于2.2.200.011时,建议使用此模板进行转换。

    • “转换输入目录”

      在本地开发模型后或在ModelArts开发并转换模型后,针对Ascend芯片,其模型输入目录需要满足一定的规范要求,详情请见模型输入目录规范

      • 模型输入目录总不能有多个模型。
      • 模型输入目录中可以只放一个模型文件,其他文件非必须。
    • “转换输出目录”

      针对不同的转换任务,基于Ascend芯片,其模型输出目录需要满足一定的规范要求,详情请见模型输出目录规范