微軟開源 MMdnn,模型可在多框架間轉換
近期,微軟開源了 MMdnn,這是一套能讓用戶在不同深度學習框架間做相互操作的工具。比如,模型的轉換和可視化,並且可以讓模型在 Caffe、Keras、MXNet、Tensorflow、CNTK、PyTorch 和 CoreML 之間轉換。
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
或者嘗試下最新的版本:
pipinstall-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.下載預訓練模型
2.將預訓練模型轉換為中間表徵
python3-mmmdnn.conversion._script.convertToIR-fkeras-dkeras_inception_v3-nimagenet_inception_v3.json
3.打開 Open the MMdnn model visualizer 然後選擇文件 keras_inception_v3.json
詳細說明和示例請參照 MMdnn 官方 Github 頁面:
https://github.com/Microsoft/MMdnn
NLP 工程師入門實踐班:基於深度學習的自然語言處理
三大模塊,五大應用,手把手快速入門 NLP
海外博士講師,豐富項目經驗
演算法 + 實踐,搭配典型行業應用
隨到隨學,專業社群,講師在線答疑
新人福利
關注 AI 研習社(okweiwu),回復1領取
【超過 1000G 神經網路 / AI / 大數據,教程,論文】
微軟攜手亞馬遜推出全新 Gluon 深度學習庫
※用真知灼見創造未來,AI學術大牛20萬字觀點精選
※從編程實現角度學習 Faster R-CNN
TAG:AI研習社 |