MMDNN ist ein umfassendes und quer-ramework-Tool zum Konvertieren, Visualisieren und Diagnose von Deep-Learning-Modellen (DL). Das "MM" steht für Modellmanagement und "DNN" ist das Akronym für Deep Neural Network.
Hauptmerkmale umfassen:
Modellumwandlung
Modellumschulung
Modellsuche und Visualisierung
Modellbereitstellung
Wir bieten einige Richtlinien, mit denen Sie DL -Modelle für eine andere Hardwareplattform bereitstellen können.
Wir bieten einen Leitfaden, der Ihnen hilft, die Inferenz mit Tensorrt zu beschleunigen.
Microsoft Research (MSR) und Microsoft Software Technology Center (STC) haben sich auch auf Offenheit und Fortschritte auf dem neuesten Stand der Technologie (STC) entwickelt:
Wir ermutigen Forscher, Entwickler und Studenten, diese Projekte zu nutzen, um ihre KI / Deep -Learning -Produktivität zu steigern.
Sie können eine stabile Version von mmdnn von erhalten
pip install mmdnnUnd stellen Sie sicher, dass Python installiert ist oder Sie können die neueste Version von ausprobieren
pip install -U git+https://github.com/Microsoft/MMdnn.git@masterMMDNN bietet ein Docker -Bild, das MMDNN- und Deep -Learning -Frameworks packt, die wir sowie andere Abhängigkeiten unterstützen. Sie können das Bild problemlos mit den folgenden Schritten ausprobieren:
Installieren Sie die Docker Community Edition (CE)
Erfahren Sie mehr über die Installation von Docker
MMDNN Docker Bild ziehen
docker pull mmdnn/mmdnn:cpu.smallFühren Sie das Bild in einem interaktiven Modus aus
docker run -it mmdnn/mmdnn:cpu.smallIn der Branche und der Wissenschaft stehen Entwicklern und Forschern eine Reihe vorhandener Rahmenbedingungen zur Verfügung, in denen jedes Framework über eine eigene Netzwerkstrukturdefinition und ein Speichermodellformat verfügt. Die Lücken zwischen Frameworks behindern die Interoperation der Modelle.
Wir bieten einen Modellumwandler, mit dem Entwickler Modelle zwischen Frameworks über ein Intermediate -Repräsentations -Format konvertieren können.
[Hinweis] Sie können auf die Links klicken, um detailliertes Readme jedes Frameworks zu erhalten.
Die Modellumwandlung zwischen aktuell unterstützten Frameworks wird auf einigen ImageNet -Modellen getestet.
| Modelle | Kaffe | Keras | Tensorflow | Cntk | Mxnet | Pytorch | Coreml | Onnx |
|---|---|---|---|---|---|---|---|---|
| VGG 19 | √ | √ | √ | √ | √ | √ | √ | √ |
| Inception v1 | √ | √ | √ | √ | √ | √ | √ | √ |
| Inception v3 | √ | √ | √ | √ | √ | √ | √ | √ |
| Inception v4 | √ | √ | √ | O | √ | √ | √ | √ |
| Resnet v1 | × | √ | √ | O | √ | √ | √ | √ |
| Resnet v2 | √ | √ | √ | √ | √ | √ | √ | √ |
| Mobilenet v1 | × | √ | √ | O | √ | √ | √ | √ |
| Mobilenet v2 | × | √ | √ | O | √ | √ | √ | √ |
| Xception | √ | √ | √ | O | × | √ | √ | √ |
| Squeezenet | √ | √ | √ | √ | √ | √ | √ | √ |
| Densenet | √ | √ | √ | √ | √ | √ | √ | √ |
| Nasnet | X | √ | √ | O | √ | √ | √ | X |
| Resnext | √ | √ | √ | √ | √ | √ | √ | √ |
| VOC FCN | √ | √ | ||||||
| Yolo3 | √ | √ |
Ein Befehl, um die Konvertierung zu erreichen. Verwenden von TensorFlow Resnet V2 152 bis Pytorch als Beispiel.
$ 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.pthErledigt.
Wir bieten einen lokalen Visualizer, um die Netzwerkarchitektur eines Deep -Learning -Modells anzuzeigen. Bitte beachten Sie die Anweisung.
Keras "Inception v3" zu CNTK und das verwandte Problem
TensorFlow Slim Model "resnet v2 152" an Pytorch
MXNET-Modell "LRESNET50E-IR" zu TensorFlow und verwandtem Problem
Mxnet "resnet-152-11k" zu pytorch
Ein weiteres Beispiel für MXNET "resnet-152-11k" zu Pytorch
Mxnet "Resnext" zu Keras
Tensorflow "resnet-101" zu Pytorch
Tensorflow "MNIST MLP -Modell" an CNTK
Tensorflow "inception_v3" zu mxnet
Kaffe "VOC-FCN" zu Tensorflow
Kaffe "Alexnet" zum Tensorflow
Kaffe "inception_v4" zu Tensorflow
Kaffe "VGG16_SOD" zu Tensorflow
Kaffe "Squeezenet v1.1" zu CNTK
In den meisten Beiträgen müssen Sie einer Mitarbeiters Lizenzvereinbarung (CLA) zustimmen, in der Sie erklären, dass Sie das Recht haben und tatsächlich tun, und gewähren uns die Rechte, Ihren Beitrag zu nutzen. Weitere Informationen finden Sie unter https://cla.microsoft.com.
Wenn Sie eine Pull-Anfrage einreichen, enthält ein ClA-BOT automatisch, ob Sie eine CLA angeben und die PR angemessen dekorieren müssen (z. B. Etikett, Kommentar). Befolgen Sie einfach die vom Bot bereitgestellten Anweisungen. Sie müssen dies nur einmal über alle Repos mit unserem CLA tun.
Dieses Projekt hat den Microsoft Open Source -Verhaltenscode übernommen. Weitere Informationen finden Sie im FAQ oder wenden Sie sich an [email protected] mit zusätzlichen Fragen oder Kommentaren.
Die mittlere Darstellung speichert die Netzwerkarchitektur in Protobuf-Binär- und vor-ausgebildeten Gewichten im Numpy Native Format.
[Anmerkung!] Derzeit sind die IR -Gewichtsdaten im NHWC -Format (Channel Last).
Details finden Sie in ops.txt und graph.proto. Neue Betreiber und Kommentare sind willkommen.
Wir arbeiten an anderen Rahmenbedingungen und Visualisierungen wie Pytorch, Coreml und so weiter. Wir untersuchen mehr RNN -bezogene Betreiber. Alle Beiträge und Vorschläge sind willkommen! Details in der Beitragsrichtlinie.
Yu Liu (Peking University): Projektentwickler & Betreuer
Cheng Chen (Microsoft Research Asia): Caffe, CNTK, Coreml -Emitter, Keras, Mxnet, Tensorflow
Jiahao Yao (Peking University): Coreml, MXNET Emitter, Pytorch Parser; Homepage
Ru Zhang (Chinesische Akademie der Wissenschaften): Coreml -Emitter, Darknet Parser, Keras, Tensorflow Frozen Graph Parser; Yolo- und SSD -Modelle; Tests
Yuhao Zhou (Shanghai Jiao Tong University): Mxnet
Tinging Qin (Microsoft Research Asia): Kaffeemitter
Tong Zhan (Microsoft): Onnx -Emitter
Qianwen Wang (Hongkong Universität für Wissenschaft und Technologie): Visualisierung
Dank Saumitro Dasgupta ist der erste Code von Kaffe -> IR -Konvertierung auf sein Projekt Caffe -Tensorflow.
Lizenziert unter der MIT -Lizenz.