MMdnn:模型在不同深度学习框架转换

参考:Github:Microsoft/MMdnn

         微软亚洲研究院AI头条



MMdnn 是一套帮助用户在不同深度学习框架之间进行互操作的工具。 例如。 模型转换和可视化。 在Caffe,Keras,MXNet,Tensorflow,CNTK,PyTorch Onnx和CoreML之间转换模型。

用于转换,可视化和诊断深度神经网络模型的全面的跨框架解决方案。 MMdnn中的“MM”代表模型管理,“dnn”代表深度神经网络的缩写。

基本上,它将许多由一个框架训练的DNN模型转换成其他模型。 主要功能包括:
        模型文件转换器在框架之间转换DNN模型
        模型代码片段生成器为框架生成培训或推理代码片段
        模型可视化可视化框架的DNN网络体系结构和参数
        型号兼容性测试(正在进行)

这个项目是由微软研究院(MSR)设计和开发的。 鼓励研究人员和学生利用这个项目来分析DNN模型,欢迎任何新想法来扩展这个项目。


#安装:

pip install mmdnn    #稳定版
pip install -U git+https://github.com/Microsoft/MMdnn.git@master    #测试版


#当前支持框架:




#框架转换具体实现方法:(以 TensorFlow ResNet V2 152 转换为 PyTorch 为例:

$ mmdownload -f tensorflow -n resnet_v2_152 -o ./
$ mmconvert -sf tensorflow -in imagenet_resnet_v2_152.ckpt.meta -iw imagenet_resnet_v2_152.ckpt --dstNode MMdnn_Output -df pytorch -om tf_resnet_to_pth.pth


#模型可视化: MMdnn model visualizer

(注意:为了命令能够之行,需提前安装:Tensorflow、keras、requests)

以 Keras "inception_v3" model 为例:

    1.下载预训练模型

$ mmdownload -f keras -n inception_v3
    2.把预训练模型文件转换为 intermediate representation

$ mmtoir -f keras -w imagenet_inception_v3.h5 -o keras_inception_v3

    3.打开 MMdnn model visualizer 并选择文件 keras_inception_v3.json


猜你喜欢

转载自blog.csdn.net/scorpc/article/details/80521575