模型转换失败怎么办?
如果模型转换失败,可通过查看日志信息来查看模型转换失败的原因,进而针对性地解决问题。
解决模型转换问题
针对日志报错信息解决模型转换问题。
- 确认上传的模型文件是否正确
导入自定义模型前,需要将自定义的模型上传到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
- TF-FrozenGraph-To-Ascend-893
该模板将TF frozen_graph模型转换成可在ascend芯片上运行的模型。HiLens Kit系统固件版本低于2.2.200.011时,建议使用此模板进行转换。
- TF-FrozenGraph-To-Ascend-HiLens
- “转换输入目录”
在本地开发模型后或在ModelArts开发并转换模型后,针对Ascend芯片,其模型输入目录需要满足一定的规范要求,详情请见模型输入目录规范。
- 模型输入目录总不能有多个模型。
- 模型输入目录中可以只放一个模型文件,其他文件非必须。
- “转换输出目录”
针对不同的转换任务,基于Ascend芯片,其模型输出目录需要满足一定的规范要求,详情请见模型输出目录规范。
- “输入张量形状”
如果问题还未排除,您可以参与论坛讨论进一步解决疑问。