MMDNNは、ディープラーニング(DL)モデルを変換、視覚化、診断するための包括的なクロスフレームワークツールです。 「MM」はモデル管理の略で、「DNN」はディープニューラルネットワークの頭字語です。
主な機能は次のとおりです。
モデル変換
モデル再訓練
モデルの検索と視覚化
モデルの展開
DLモデルを別のハードウェアプラットフォームに展開するのに役立ついくつかのガイドラインを提供します。
Tensortとの推論を加速するのに役立つガイドを提供します。
Opennessでのターゲティングと最先端の技術の進出、Microsoft Research(MSR)およびMicrosoft Software Technology Center(STC)も、他のオープンソースプロジェクトをほとんどリリースしていませんでした。
研究者、開発者、学生がこれらのプロジェクトを活用して、AI /深い学習生産性を高めることをお勧めします。
Mmdnnの安定したバージョンを入手できます
pip install mmdnnそして、必ずPythonをインストールしてください。または、最新バージョンを試すことができます
pip install -U git+https://github.com/Microsoft/MMdnn.git@masterMMDNNは、MMDNNとその他の依存関係と同様に、MMDNNとディープラーニングフレームワークをパッケージ化するDocker画像を提供します。次の手順で画像を簡単に試すことができます。
Dockerコミュニティエディション(CE)をインストールする
Dockerのインストール方法の詳細をご覧ください
mmdnn docker画像を引っ張ります
docker pull mmdnn/mmdnn:cpu.smallインタラクティブモードで画像を実行します
docker run -it mmdnn/mmdnn:cpu.small業界と学界全体に、開発者と研究者がモデルを設計するために利用できる多くの既存のフレームワークがあります。各フレームワークには、独自のネットワーク構造定義とモデル形式の保存があります。フレームワーク間のギャップは、モデルの操作を妨げます。
モデルコンバーターを提供して、開発者が中間表現形式を介してフレームワーク間でモデルを変換するのを支援します。
[注]リンクをクリックして、各フレームワークの詳細なreadmeを取得できます。
現在サポートされているフレームワーク間のモデル変換は、一部のImagenetモデルでテストされています。
| モデル | カフェ | ケラス | Tensorflow | cntk | mxnet | Pytorch | coreml | onnx |
|---|---|---|---|---|---|---|---|---|
| VGG 19 | √ | √ | √ | √ | √ | √ | √ | √ |
| インセプションV1 | √ | √ | √ | √ | √ | √ | √ | √ |
| インセプションV3 | √ | √ | √ | √ | √ | √ | √ | √ |
| インセプションV4 | √ | √ | √ | o | √ | √ | √ | √ |
| Resnet V1 | × | √ | √ | o | √ | √ | √ | √ |
| ResNet V2 | √ | √ | √ | √ | √ | √ | √ | √ |
| Mobilenet V1 | × | √ | √ | o | √ | √ | √ | √ |
| Mobilenet V2 | × | √ | √ | o | √ | √ | √ | √ |
| Xception | √ | √ | √ | o | × | √ | √ | √ |
| スクイーズネット | √ | √ | √ | √ | √ | √ | √ | √ |
| デンセン | √ | √ | √ | √ | √ | √ | √ | √ |
| ナスネット | x | √ | √ | o | √ | √ | √ | x |
| snnext | √ | √ | √ | √ | √ | √ | √ | √ |
| VOC FCN | √ | √ | ||||||
| Yolo3 | √ | √ |
変換を達成するための1つのコマンド。 Tensorflow Resnet V2 152を使用して、例としてPytorchに。
$ mmdownload -f tensorflow -n resnet_v2_152 -o ./
$ mmconvert -sf tensorflow -in imagenet_resnet_v2_152.ckpt.meta -iw imagenet_resnet_v2_152.ckpt --dstNodeName MMdnn_Output -df pytorch -om tf_resnet_to_pth.pth終わり。
深い学習モデルのネットワークアーキテクチャを表示するためのローカルビジュアライザーを提供します。指示を参照してください。
KERAS「Inception V3」からCNTKおよび関連する問題
Tensorflow Slimモデル「Resnet V2 152」からPytorch
MXNETモデル「LRESNET50E-IR」からTENSORFLOWおよび関連する問題
MXNET「ResNet-152-11K」からPytorchへ
PytorchへのMXNET「ResNet-152-11K」の別の例
Kerasへのmxnet「resnext」
Tensorflow "Resnet-101" to pytorch
Tensorflow "Mnist MLPモデル"からCNTKへ
tensorflow "inception_v3"からmxnet
TensorflowからCaffe "voc-fcn"
TensorflowからCaffe "Alexnet"
tensorflowからcaffe "inception_v4"
tensorflowからcaffe "vgg16_sod"
CAFFE「Squeezenet v1.1」からCNTK
ほとんどの貢献では、貢献者ライセンス契約(CLA)に同意する必要があります。実際に行う権利があり、実際に行うことを宣言してください。詳細については、https://cla.microsoft.comをご覧ください。
プルリクエストを送信すると、CLAボットはCLAを提供し、PRを適切に飾る必要があるかどうかを自動的に決定します(例:ラベル、コメント)。ボットが提供する指示に従うだけです。 CLAを使用して、すべてのレポでこれを1回だけ行う必要があります。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。
中間表現は、ネットワークアーキテクチャをProtobufバイナリおよび事前に訓練した重みでnumpyネイティブ形式で保存します。
[注!]現在、IRウェイトデータはNHWC(チャンネルラスト)形式です。
詳細はops.txtとgraph.protoにあります。新しいオペレーターとコメントは大歓迎です。
Pytorch、Coremlなど、他のフレームワークの変換と視覚化に取り組んでいます。より多くのRNN関連オペレーターを調査しています。貢献や提案は大歓迎です!貢献ガイドラインの詳細。
Yu Liu(北京大学):プロジェクト開発者とメンテナー
Cheng Chen(Microsoft Research Asia):Caffe、CNTK、Coreml Emitter、Keras、Mxnet、Tensorflow
Jiahao Yao(北京大学):Coreml、Mxnet Emitter、Pytorch Parser;ホームページ
Ru Zhang(中国科学アカデミー):Coreml Emitter、Darknet Parser、Keras、Tensorflow Frozen Graph Parser; YoloおよびSSDモデル。テスト
Yuhao Zhou(Shanghai Jiao Tong University):Mxnet
チングQin(Microsoft Research Asia):カフェエミッター
Tong Zhan(Microsoft):onnxエミッター
Qianwen Wang(香港科学技術大学):視覚化
Saumitro Dasguptaのおかげで、 Caffeの初期コード - > IR変換は彼のプロジェクトCaffe -Tensorflowへの参照です。
MITライセンスに基づいてライセンスされています。