Caffe转mxnet模型——mmdnn中提到了使用mmdnn对模型进行转换,当时对转换的命令不是很清楚,最近重新查了一些,整理下mmdnn的转换命令。
一步转换
mmdnn的一步转换命令是mmconvert,源于mmdnn/conversion/_script/convert.py,其参数为:
| 命令 | 含义 |
|---|---|
| -sf | 输入模型类型 |
| -in | 输入模型网络(如果网络文件独立) |
| -iw | 输入权重文件 |
| -df | 输出模型类型 |
| -om | 输出模型名称 |
期间会产生 .py、.npy为中间模型结构,为目标模型的code形式。另外,像TensorFlow模型需要指定输出节点,如–dstNode MMdnn_Output,但–dstNode这个key值我在convert.py中没有找到,不知道运行会不会有问题。
示例:
mmconvert -sf tensorflow -in imagenet_resnet_v2_152.ckpt.meta -iw imagenet_resnet_v2_152.ckpt --dstNode MMdnn_Output -df pytorch -om tf_to_pytorch_resnet_152.pth
python -m mmdnn.conversion._script.convertToIR -sf tensorflow -in imagenet_resnet_v2_152.ckpt.meta -iw imagenet_resnet_v2_152.ckpt --dstNode MMdnn_Output -df pytorch -om tf_to_pytorch_resnet_152.pth
分步转换
1、转IR
mmdnn转换其它模型到IR格式的命令是mmtoir,源于mmdnn/conversion/_script/convertToIR.py,其参数为:
| 命令 | 含义 |
|---|---|
| -f | 输入模型类型 |
| -n | 输入模型网络(如果网络文件独立) |
| -w | 输入权重文件 |
| –inputShape | 输入尺寸(可选) |
| -node | 输出节点(TensorFlow) |
| -o | 中间文件名称.json、.pb、.npy |
示例:
mmtoir -f tensorflow -n imagenet_resnet_v2_152.ckpt.meta -w imagenet_resnet_v2_152.ckpt --inputShape 3,112,112 -node MMdnn_Output -o converted
python -m mmdnn.conversion._script.convertToIR -f tensorflow -n imagenet_resnet_v2_152.ckpt.meta -w imagenet_resnet_v2_152.ckpt --inputShape 3,112,112 -node MMdnn_Output -o converted
2、IR转输出模型Code
mmdnn转换IR格式到其它模型的code形式的命令是mmtocode,源于mmdnn/conversion/_script/IRToCode.py,其参数为:
| 命令 | 含义 |
|---|---|
| -f | 输出模型类型 |
| -n | IR模型结构 |
| -w | IR模型权重 |
| -o | 输出模型结构 |
| -dw | 输出模型权重(可选) |
示例:
mmtocode -f pytorch -n converted.pb -w converted.npy -o converted_pytorch.py -dw converted_pytorch.npy
python -m mmdnn.conversion._script. IRToCode -f pytorch -n converted.pb -w converted.npy -o converted_pytorch.py -dw converted_pytorch.npy
3、导出最终模型
mmdnn导出最终目标模型的命令是mmtomodel,源于mmdnn/conversion/_script/IRToModel.py,其参数为:
| 命令 | 含义 |
|---|---|
| -f | 输出模型类型 |
| -in | 输出模型结构 |
| -iw | IR模型权重 |
| -o | 输出模型名称 |
示例:
mmtomodel -f pytorch -in converted_pytorch.py -iw converted_pytorch.npy -o converted_pytorch.pth
python -m mmdnn.conversion._script. IRToModel -f pytorch -in converted_pytorch.py -iw converted_pytorch.npy -o converted_pytorch.pth

博客主要整理了mmdnn的模型转换命令。介绍了一步转换命令mmconvert,期间会产生中间模型结构。还阐述了分步转换,包括转IR的mmtoir、IR转输出模型Code的mmtocode以及导出最终模型的mmtomodel,并给出了各命令的来源及示例。
9360

被折叠的 条评论
为什么被折叠?



