评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
加载自定义算子进行模型转换
在模型转换时加载自定义算子生成离线模型文件,在执行模型推理时调用。
以下操作需要在开发环境中执行。
- 设置环境变量。
参考《ATC工具使用指南》中的转换样例,设置环境变量。
- 加载自定义算子插件进行模型转换。
atc --model=add.pb --framework=3 --output=myModel --out_nodes=add:0 --input_format=NCHW --soc_version={soc_version}
- --model项的值为原始模型文件相对于执行模型转换命令时所在目录的相对路径。
您可以在下载地址中下载测试模型文件add.pb,用于验证模型转换。
- --framework为原始框架类型,3表示网络为tensorflow网络;若网络类型为caffe,此处请配置为0。
- --output项的值为输出模型文件的名称,用户可自定义。
- --out_nodes:指定输出节点,若不指定此参数则模型输出默认为最后一层的算子信息。例如:add:0,add表示模型转换前网络模型中节点的名称,0表示第0个输出。
- --input_format:输入数据格式,NCHW或者NHWC。
- soc_version:昇腾AI处理器的版本,请根据实际情况替换。
可从ATC安装路径的atc/data/platform_config目录下查看支持的昇腾AI处理器的类型,对应“*.ini”文件的名字即为soc_version。
模型转换时,会优先去查找自定义算子库去匹配模型文件中的算子,若匹配失败,则会去查找内置算子库。
更多详细的参数解释请参见《ATC工具使用指南》。
- --model项的值为原始模型文件相对于执行模型转换命令时所在目录的相对路径。