微軟開源 MMdnn,模型可在多深度學習框架間轉換
雷鋒網 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
特徵
模型轉換
整個工業界和學術界有很多現成的框架供開發人員和研究人員參考和使用,每個框架都有各自的網路結構定義和模型存儲格式。框架之間的差異阻礙了模型之間的相互操作。
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.下載預訓練模型
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 頁面:
有關 MMdnn 後續的更新,雷鋒網 AI 研習社將持續關注。
※今日頭條公布演算法原理 稱並非一切交給機器
※AAAI 2018 六大前瞻亮點搶先看,BATJ、滴滴聚首學術頂會|AAAI 2018
TAG:雷鋒網 |