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
特徵
模型轉換
整個工業界和學術界有很多現成的框架供開發人員和研究人員參考和使用,每個框架都有各自的網絡結構定義和模型存儲格式。框架之間的差異阻礙了模型之間的相互操作。
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 模型測試了目前已經支持的框架的模型轉換功能。
在測試的框架
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
詳細說明和示例請參照 MMdnn 官方 Github 頁面:
https://github.com/Microsoft/MMdnn
有關 MMdnn 後續的更新,雷鋒網 AI 研習社將持續關注。