转换离线模型
训练后的Caffe和Tensorflow模型,有两种初步评估的方法评估Ascend 310芯片是否支持用户模型,评估方法如下:
- 模型使用的算子是否全部包含在算子清单内,包含即支持。
- 使用模型转换工具直接转换训练好的模型,确认是否可以转换成功,转换成功即支持,不支持的算子将返回错误信息。
- 算子清单可参考《算子清单》。
- 如存在不支持的算子,请参考《TE自定义算子开发指导》开发不支持的算子。
离线模型转换工具包含在DDK工具包内,位于目录“<$DDK_HOME>/uihost/bin/omg”下,omg为命令行工具(可通过-h获得参数信息),用于实现Caffe和Tensorflow模型转换成Ascend 310支持的om文件。Omg工具的使用说明请参考《模型转换指导》中的“使用omg工具转换模型”章节。
- Caffe模型的转换:
#omg --framework 0 --model <model.prototxt> --weight <model.caffemodel> --output <output name> --insert_op_conf <aipp.cfg>
- Tensorflow模型的转换:
#omg --framework 3 --model <model.pb> --input_shape “input_name:1,112,112,3” --output <output_name> --insert_op_conf <aipp.cfg>
表1 参数说明 参数
说明
framework 0
指定为Caffe模型。
framework 3
指定为Tensorflow模型。
model
指定模型文件。
weight
指定Caffe的权重文件。
output
支持输出om文件的文件名。
input_shape
指定输入层的名字和大小,Tensorflow默认为“input_layer_name: n, h, w, c”。
insert_op_conf
指定AIPP的配置文件。