微软开源 MMdnn,模型可在多深度学习框架间转换

O'NeilFlorence 发布于1年前
0 条问题

雷锋网 (公众号:雷锋网) AI 研习社按:近期,微软开源了 MMdnn,这是一套能让用户在不同深度学习框架间做相互操作的工具。比如,模型的转换和可视化,并且可以让模型在 Caffe、Keras、MXNet、Tensorflow、CNTK、PyTorch 和 CoreML 之间转换。雷锋网 AI 研习社将微软 Github 官网介绍编译如下,供开发者参考: 

Github 地址:https://github.com/Microsoft/MMdnn

MMdnn 中的「MM」代表模型管理,「dnn」的意思是深度神经网络。它可以将由一个框架训练的 DNN 模型转换到其他框架里,其主要的特点如下:

  • Model File Converter在不同框架间转换 DNN 模型。

  • Model Code Snippet Generator为框架生成训练代码

  • Model Visualization DNN网络结构和框架参数可视化

  • Model compatibility testing(正在开发中)

安装

开发者可以从以下链接获得 MMdnn 的稳定版本:

pip install https://github.com/Microsoft/MMdnn/releases/download/0.1.3/mmdnn-0.1.3-py2.py3-none-any.whl

或者尝试下最新的版本:

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

特征

模型转换

整个工业界和学术界有很多现成的框架供开发人员和研究人员参考和使用,每个框架都有各自的网络结构定义和模型存储格式。框架之间的差异阻碍了模型之间的相互操作。

Github 项目推荐 | 微软开源 MMdnn,模型可在多深度学习框架间转换

MMdnn 提供一个模型转换器,用于帮助开发者在不同框架之间通过中间格式转换模型。

支持的框架:

  • Caffe

  • Keras

  • MXNet

  • Tensorflow (Experimental) (Highly recommend you read the README of tensorflow firstly)

  • Microsoft Cognitive Toolkit (CNTK) (Destination only)

  • PyTorch (Destination only)

  • CoreML (Experimental, Destination only)

测试的模型

官方用 ImageNet 模型测试了目前已经支持的框架的模型转换功能。

Github 项目推荐 | 微软开源 MMdnn,模型可在多深度学习框架间转换

在测试的框架

  • PyTorch (Source)

  • CNTK (Source)

  • Caffe2

  • ONNX

在测试的模型

  • RNN

  • Image Style Transfer

  • Object Detection

模型可视化

你可以使用 MMdnn 模型可视化器并且提交 IR json 文件来可视化你的模型。在运行下面的命令行之前,你需要用你最喜欢的包管理器安装 Keras、Tensorflow 和相关的请求。

用 Keras 「inception_v3」模型做示例:

1.下载预训练模型

python -m mmdnn.conversion.examples.keras.extract_model -n inception_v3

2.将预训练模型转换为中间表征

python3 -m mmdnn.conversion._script.convertToIR -f keras -d keras_inception_v3 -n imagenet_inception_v3.json

3.打开 Open the MMdnn model visualizer 然后选择文件 keras_inception_v3.json

Github 项目推荐 | 微软开源 MMdnn,模型可在多深度学习框架间转换

详细说明和示例请参照 MMdnn 官方 Github 页面:

https://github.com/Microsoft/MMdnn

有关 MMdnn 后续的更新,雷锋网 AI 研习社将持续关注。

雷锋网版权文章,未经授权禁止转载。详情见 转载须知

Github 项目推荐 | 微软开源 MMdnn,模型可在多深度学习框架间转换

查看原文: Github 项目推荐 | 微软开源 MMdnn,模型可在多深度学习框架间转换

  • organicrabbit
  • lazydog
需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。