MMdnn  by microsoft

Model conversion tool for deep learning frameworks

created 8 years ago
5,810 stars

Top 9.0% on sourcepulse

GitHubView on GitHub
Project Summary

MMdnn is a cross-framework tool for deep learning model conversion, visualization, and diagnosis, targeting researchers and developers who need to interoperate between different DL frameworks. It simplifies model migration, enabling training in one framework and deployment in another, with features for retraining, visualization, and deployment guidance.

How It Works

MMdnn utilizes an intermediate representation (IR) format to facilitate model conversion between frameworks. This IR stores network architecture in protobuf binary and weights in NumPy native format. This approach allows for a universal converter, abstracting away framework-specific details and enabling seamless model transfer.

Quick Start & Requirements

  • Install: pip install mmdnn or pip install -U git+https://github.com/Microsoft/MMdnn.git@master
  • Docker: docker pull mmdnn/mmdnn:cpu.small then docker run -it mmdnn/mmdnn:cpu.small
  • Prerequisites: Python. Docker CE recommended for containerized use.
  • Docs: Official Tutorial

Highlighted Details

  • Supports conversion between Caffe, CNTK, CoreML, Keras, MXNet, ONNX (destination), PyTorch, and TensorFlow (experimental).
  • Includes a model visualizer for intuitive network architecture display.
  • Provides guidelines for model deployment and Android serving with TensorRT.
  • Tested conversions include popular ImageNet models like VGG19, Inception, and ResNet variants.

Maintenance & Community

  • Developed by Microsoft Research (MSR) and Microsoft Software Technology Center (STC).
  • Actively encourages contributions via a CLA.
  • Related projects include OpenPAI, FrameworkController, NNI, NeuronBlocks, and SPTAG.

Licensing & Compatibility

  • Licensed under the MIT license.
  • Permissive license suitable for commercial use and integration with closed-source projects.

Limitations & Caveats

  • TensorFlow conversion is marked as experimental.
  • DarkNet is source-only, and ONNX is destination-only.
  • Torch7 and Chainer conversion are listed as "help wanted."
  • IR weights are in NHWC (channel last) format.
Health Check
Last commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
8 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems) and Deshraj Yadav Deshraj Yadav(Cofounder of Mem0).

tutorials by onnx

0.1%
4k
ONNX model tutorials and examples
created 7 years ago
updated 1 year ago
Feedback? Help us improve.