资讯专栏INFORMATION COLUMN

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

高璐 / 3428人阅读

摘要:是微软开源的用于不同深度学习框架和的模型之间互相转换的工具,通过模型的中间表示来完成不同框架模型之间的转换。

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

声明:文章收集于网络,如有侵权,请联系小编及时处理,谢谢!欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:81035754

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4815.html

相关文章

  • 现代罗塞塔石碑:微软提出深度学习框架通用语言

    摘要:完整版地址我们的想法是创建一个深度学习框架的罗塞塔石碑假设你很了解某个深度学习框架,你就可以帮助别人使用任何框架。我们的目标是创建深度学习框架的罗塞塔石碑,使数据科学家能够在不同框架之间轻松运用专业知识。 repo 1.0 完整版 GitHub 地址:https://github.com/ilkarman/DeepLearningFrameworks我们的想法是创建一个深度学习框架的罗塞塔石...

    ckllj 评论0 收藏0
  • 微软开源 ML.NET:一款跨平台、成熟机器学习框架

    摘要:微软在大会上兴奋地宣布了的预览版,这是一种跨平台的开源机器学习框架。核心组件作为的一部分而发布今天的代码仓库包含用于模型训练和使用的,以及许多常见的机器学习任务如回归和分类所需要的各种转换和学习器。 微软在Build 2018大会上兴奋地宣布了ML.NET的预览版,这是一种跨平台的开源机器学习框架。ML.NET将让广大.NET开发人员可以开发自己的模型,并且将自定义的机器学习融入到其应用程序...

    linkin 评论0 收藏0
  • ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一

    摘要:但年月,宣布将在年终止的开发和维护。性能并非最优,为何如此受欢迎粉丝团在过去的几年里,出现了不同的开源深度学习框架,就属于其中典型,由谷歌开发和支持,自然引发了很大的关注。 Keras作者François Chollet刚刚在Twitter贴出一张图片,是近三个月来arXiv上提到的深度学习开源框架排行:TensorFlow排名第一,这个或许并不出意外,Keras排名第二,随后是Caffe、...

    trilever 评论0 收藏0
  • 微软开源深度学习认知工具包:增加 Python 绑定,支持增强学习

    摘要:微软今天开源微软认知工具包的升级版本,升级版。他同时也是微软认知工具包的关键架构师。微软的认知工具包代表了微软与英伟达紧密的合作,共同推动深度学习社区的进步,英伟达加速计算部门总经理说。微软认知工具包可在多个上运行,其中包括的产品。 微软今天开源微软认知工具包(Microsoft Cognitive Toolkit)的升级版本,CNTK 升级版。本次升级较大的亮点在于增加了 Python 绑...

    ymyang 评论0 收藏0
  • Facebook联合微软推出神经网络交换格式ONNX

    摘要:近日,与微软联合推出了开放式神经网络交换格式,它是一个表征深度学习模型的标准,可实现模型在不同框架之间的迁移。例如,在中,条件句通常是对输入张量的大小或维度上的计算。 近日,Facebook 与微软联合推出了开放式神经网络交换(ONNX)格式,它是一个表征深度学习模型的标准,可实现模型在不同框架之间的迁移。ONNX 是构建开源生态环境的第一步,供人工智能开发者轻松选择并组合较先进的工具。开发...

    CrazyCodes 评论0 收藏0

发表评论

0条评论

高璐

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<