微软开源的深度学习模型转换工具MMdnn

2018 年 10 月 27 日 极市平台

由极市、机器之心和中科创达联合举办的“2018计算机视觉最具潜力开发者榜单”评选活动,现已接受报名,杨强教授、俞扬教授等大牛嘉宾亲自评审,高通、中科创达、微众银行等大力支持,丰厚奖励,丰富资源,千万渠道,助力您的计算机视觉工程化能力认证,提升个人价值及算法变现。极市与您一起定义自己,发现未来~点击阅读原文即可报名~

来源:专知

【导读】MMdnn是微软开源的用于不同深度学习框架(Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx和CoreML)的模型之间互相转换的工具。另外,MMdnn还具有模型可视化等其他功能。


MMdnn简介

在工业街和学术界中,开发者或者研究人员可以选择多种深度学习框架来构建模型,每种框架有自己特有的网络结构定义以及模型保存格式,这种框架之间的鸿沟阻碍了不同框架模型之间的操作。MMdnn是微软开源的用于不同深度学习框架(Caffe, Keras, MXNet, Tensorflow, CNTK, PyTorch Onnx和CoreML)的模型之间互相转换的工具,通过模型的中间表示来完成不同框架模型之间的转换。其代码被托管在微软的Github中:https://github.com/Microsoft/MMdnn

支持的框架

目前MMdnn支持的深度学习框架有:

  • Caffe

  • Microsoft Cognitive Toolkit (CNTK)

  • CoreML

  • Keras

  • MXNet

  • ONNX 

  • PyTorch

  • TensorFlow (实验性的) 

  • DarkNet (只在源码中有, 实验性的)


已测试的模型转换

MMdnn在一些ImageNet模型上测试的结果:



MMdnn的安装

MMdnn可以使用pip直接安装:

pip install mmdnn


使用下面的方法可以安装最新版本的MMdnn:

pip install -U git+https://github.com/Microsoft/MMdnn.git@master


用MMdnn进行模型的转换

MMdnn可以使用pip直接安装:

模型的转换只需要一行命令,例如下面的命令会下载TensorFlow的ResNet V2 152模型,并使用MMdnn将其转换为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 --dstNodeName MMdnn_Output -df pytorch -om tf_resnet_to_pth.pth


用MMdnn进行模型可视化

下载预训练的模型:

mmdownload -f keras -n inception_v3


将预训练模型转换为中间表示:

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


打开MMdnn模型可视化工具http://mmdnn.eastasia.cloudapp.azure.com:8080/并选择文件keras_inception_v3.json:



官方示例教程

  • Keras "inception V3"转换为CNTK模型:https://github.com/Microsoft/MMdnn/blob/master/docs/keras2cntk.md

  • TensorFlow slim模型ResNet V2 152转换为PyTorch模型:https://github.com/Microsoft/MMdnn/blob/master/docs/tf2pytorch.md

  • Mxnet模型LResNet50E-IR转换为TensorFlow模型:https://github.com/Microsoft/MMdnn/issues/85







*推荐阅读*

资源 | 一个基于PyTorch的目标检测工具箱,商汤联合港中文开源mmdetection

DeepMind开源图深度学习(GraphDL)工具包,基于Tensorflow和Sonnet


杨强教授、俞扬教授等大牛嘉宾评审团,万元大奖,丰富资源,助力您的计算机视觉工程化能力认证,点击阅读原文即可报名“2018计算机视觉最具潜力开发者榜单”~


登录查看更多
6

相关内容

中科创达[1] 是中科创达软件股份有限公司申请的一个商标。[1] 中科创达软件股份有限公司专注于Android核心技术, 为移动互联网终端设备提供Android整体解决方案的操作系统厂商。[2]
【干货书】高级应用深度学习,294页pdf
专知会员服务
149+阅读 · 2020年6月20日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
281+阅读 · 2020年6月3日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
116+阅读 · 2019年12月31日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
港中文开源基于PyTorch的多任务人脸识别框架
极市平台
17+阅读 · 2019年8月31日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
深度学习开发必备开源框架
九章算法
12+阅读 · 2018年5月30日
微软发布Visual Studio Tools for AI
AI前线
4+阅读 · 2017年11月20日
Arxiv
14+阅读 · 2020年2月6日
Arxiv
34+阅读 · 2019年11月7日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Arxiv
3+阅读 · 2018年3月13日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
相关VIP内容
【干货书】高级应用深度学习,294页pdf
专知会员服务
149+阅读 · 2020年6月20日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
281+阅读 · 2020年6月3日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
116+阅读 · 2019年12月31日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
相关资讯
Top
微信扫码咨询专知VIP会员