Das Projekt wird kontinuierlich aktualisiert ......
Pull -Anfragen sind willkommen!
Hinweis: Dies ist nicht ein Konvertor für alle Frameworks, sondern eine Sammlung verschiedener Konverter. Da Github eine Open -Source -Plattform ist, hoffe ich, dass wir uns hier gegenseitig helfen können, die Stärke aller zu sammeln.
Aufgrund dieser unterschiedlichen Frameworks treten die fantastischen Konvertoren von Deep -Learning -Modellen für verschiedene Frameworks auf. Es sollte beachtet werden, dass ich nicht alle Konverter getestet habe, daher konnte ich nicht garantieren, dass jeder verfügbar war. Aber ich hoffe auch, dass diese Canvertor -Sammlung Ihnen helfen kann!
Das folgende Blatt ist ein Überblick über alle Konvertoren in GitHub (nicht nur offiziell bereitgestellt und mehr sind Benutzer-Selbst-Implementierungen). Ich mache nur ein wenig Arbeit, um diese Konvertoren zu sammeln. Ich hoffe auch, dass jeder dieses Projekt unterstützen kann, um mehr Menschen zu helfen, die aufgrund verschiedener Frameworks auch verrückt sind.
| Konvertor | mxnet | Kaffe | Caffe2 | Cntk | Theano/Lasagne | Neon | Pytorch | Fackel | Keras | Darknet | Tensorflow | Kette | coreml/ios | paddeln | Onnx |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - - | MMDNN MXNET2Caffe MXNET2Caffe | Mmdnn (durch onnx) | Mmdnn | Keiner | Keiner | Mmdnn Gluon2PyTorch | Keiner | Mmdnn | Keiner | Mmdnn | Keiner | mxnet-to-coreml mmdnn | Keiner | Keiner |
| Kaffe | mxnet/tools/caffe_converter resnet_caffe2mxnet mmdnn | - - | CAFTETOCAFFE2 MMDNN (durch ONNX) | CrosStalkcaffe/CaffeConverter mmdnn | Caffe_Theano_Conversion Caffe-Model-Convert-Caffe-to-theano | Caffe2neon | Mmdnn Pytorch-Caffe Pytorch-Resnet | Googlenet-Caffe2Torch Mocha Loadcaffe | Keras-Caffe-Converter Caffe_weight_Converter Caffe2keras nn_tools keras caffe2keras Deep_learning_model_converter mmdnn | Pytorch-Caffe-Darknet-Convert | Mmdnn nn_tools caffe-Tensorflow | Keiner | Coremlzoo apple/coremltools mmdnn | X2paddle | Caffe2onnx |
| Caffe2 | Keiner | Keiner | - - | Onnx | Keiner | Keiner | Onnx | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner |
| Cntk | Mmdnn | Mmdnn | Onnx mmdnn (durch onnx) | - - | Keiner | Keiner | Onnx mmdnn | Keiner | Mmdnn | Keiner | Mmdnn | Keiner | Mmdnn | Keiner | Keiner |
| Theano/Lasagne | Keiner | Keiner | Keiner | Keiner | - - | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner |
| Neon | Keiner | Keiner | Keiner | Keiner | Keiner | - - | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner |
| Pytorch | Mmdnn | Brocolli Pytorchtocaffe Mmdnn Pytorch2Caffe Pytorch-Caffe-Darknet-Convert | Onnx-Caffe2 mmdnn (über ONNX) | Onnx mmdnn | Keiner | Keiner | - - | Keiner | Mmdnn Pytorch2keras nn-transfer | Pytorch-Caffe-Darknet-Convert | Mmdnn Pytorch2keras (über Keras) Pytorch-TF | Keiner | Mmdnn onnx-coreml | Keiner | Keiner |
| Fackel | Keiner | FB-Caffe-EXTS/Torch2Caffe Mocha Trans-Torch Th2Caffe | Torch2Caffe2 | Keiner | Keiner | Keiner | convert_torch_to_pytorch | - - | Keiner | Keiner | Keiner | Keiner | Torch2Coreml Torch2ios | Keiner | Keiner |
| Keras | Mmdnn | Keras-Caffe-Konverter mmdnn nn_tools keras2caffe | Mmdnn (durch onnx) | Mmdnn | Keiner | Keiner | Mmdnn nn-transfer | Keiner | - - | Keiner | nn_tools convert-to-TensorFlow keras_to_tensorflow keras_to_tensorflow mmdnn | Keiner | Apple/Coremltools Model-Converters keras_models mmdnn | Keiner | Keiner |
| Darknet | Keiner | Pytorch-Caffe-Darknet-Convert | Keiner | Mmdnn | Keiner | Keiner | Pytorch-Caffe-Darknet-Convert | Keiner | Mmdnn | - - | DW2TF Darkflow LEGO_YOLO | Keiner | Keiner | Keiner | Keiner |
| Tensorflow | Mmdnn | Mmdnn nn_tools | Mmdnn (durch onnx) | Übersprechen mmdnn | Keiner | Keiner | Pytorch-tf mmdnn | Keiner | Modellkonverter nn_tools konvertieren nach Tensorflow mmdnn | Keiner | - - | Keiner | tfcoreml mmdnn | X2paddle | Keiner |
| Kette | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Chainer2PyTorch | Keiner | Keiner | Keiner | Keiner | - - | Keiner | Keiner | Keiner |
| coreml/ios | Mmdnn | Mmdnn | Mmdnn (durch onnx) | Mmdnn | Keiner | Keiner | Mmdnn | Keiner | Mmdnn | Keiner | Mmdnn | Keiner | - - | Keiner | |
| paddeln | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | - - | Keiner |
| Onnx | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | Onnx2Torch Onnx2Torch | Keiner | Keiner | Keiner | Keiner | Keiner | Keiner | X2paddle | - - |
Allgemeiner Rahmen für die Konvertierung zwischen allen Arten von neuronalen Netzwerken
ONNX ist ein Versuch, Konverter für neuronale Netzwerke zu vereinen, um der NN -Welt etwas Vernunft zu verleihen. Veröffentlicht von Facebook und Microsoft. Weitere Informationen hier.
MMDNN ist eine Reihe von Tools, die den Benutzern helfen, zwischen verschiedenen Deep-Lern-Frameworks zu interagieren. ZB Modellumwandlung und Visualisierung. Konvertieren Sie Modelle zwischen Caffeemit, CNTK, Coreml, Keras, Mxnet, ONNX, Pytorch und TensorFlow.

Konvertieren Sie zum MXNET -Modell .
Einige tiefe Lernmodelle wurden von verschiedenen Formaten in das Coremls -Format umgewandelt. Modelle derzeit verfügbar:
Zu den wichtigsten Themen gehören Folgendes:
Dies ist ein Tool, um die tief eingehaltenen Netzwerke vom KAFFE-Modell in das MXNET-Modell umzuwandeln. Die Gewichte werden direkt aus Caffe -Netzwerkblobs kopiert.
Konvertieren Sie zum KAFFE -Modell .
Es ist in beiden Arten ein Konverter zwischen Keras und Kaffe. Es funktioniert nur mit dem Keras -Modell, um sowohl die Caffemodel- als auch die Prototxt -Dateien zu generieren. Es ist jedoch auch möglich, sie mit der Beschreibung des Modells zu übergeben, wenn Sie es haben.
Unterstützung 1.9.0 oder höherer Pytorch
Konvertieren Sie das Pytorch -Modell in Caffemodell.
Konvertieren Sie das MXNET -Modell in das Kaffeemodell.
Konvertieren Sie das MXNET -Modell in das Kaffeemodell.
Konvertieren Sie das Torchmodell leicht in/aus dem KAFFE -Modell.
Dieses Tool wurde mit Caffe 1.0, Keras 2.1.2 und Tensorflow 1.4.0 getestet.
Beispiele für Arbeitskonversion:
Problemschichten:
Einige praktische Versorgungsbibliotheken und -werkzeuge für das Caffe Deep Learning-Framework, in dem ** eine Bibliothek zur Konvertierung vor ausgebildeter Fackelmodelle in die äquivalenten Kaffeemodelle verfügt. **
Konvertieren Sie zwischen Pytorch-, Caffe- und Darknet -Modellen. Caffe -Darknet -Modelle können direkt von Pytorch geladen werden.
Übersetzen von Taschenmodell in andere Framework wie Caffe, MXNET ...
Ein Torchnn zum Kaffe-Wandler für bestimmte Schichten.
Ein neuronales Netzwerkkonvertor für Modelle unter Kaffe -Tensorflow -Keras
Bereitstellung eines Tools für neuronale Netzwerk -Frameworks für Pytorch und Caffe.
Die NN_TOOLS wird unter der MIT -Lizenz veröffentlicht (finden Sie in der Lizenzdatei für Einzelheiten).
Merkmale:
Anforderungen
Konvertieren Sie in das Caffe2 -Modell .
Dies ist ein offizieller Konvertor, der nicht nur ein Skript wie unten ein Skript provoidiert:
Konvertieren Sie Pytorch in Caffe2 (machen es besonders einfach, auf mobilen Geräten bereitzustellen)
Konvertieren Sie zum CNTK -Modell .
Das Tool hilft Ihnen dabei, trainierte Modelle von Caffe in CNTK umzuwandeln.
Konvertierte geschulte Modelle: Geben Sie ein Modellskript und seine Gewichtsdatei an, exportieren Sie in CNTK -Modell.
Das Übersprechen stammt von CNTK -Beitrag.
Konvertieren Sie zum Theano/Lasagne -Modell .
Dies ist Teil eines Projekts für CS231N an der Stanford University, das von Ankit Kumar, Mathematics Major, Klasse von 2015, geschrieben wurde
Dies ist ein Repository, mit dem Sie in Lasagne, einer dünnen Wrapper um Theano, in Lasagne, eine dünne Wrapper, in Modelle umwandeln können. Sie können auch die Architektur eines Kaffeemodells in eine äquivalente in Lasagne umwandeln. Sie benötigen keine Kaffe, die dieses Modul verwenden.
Derzeit werden die folgenden Caffe -Schichten unterstützt:
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
Konvertieren Sie Modelle von Kaffe in das Format des THEANO.
Konvertieren Sie ein Kaffeemodell in ein Theano -Modell. Dies funktioniert derzeit auf Alexnet, sollte jedoch für jedes KAFFE -Modell arbeiten, das nur Layers enthält, die impementiert wurden.
Konvertieren Sie zum Neonmodell .
Werkzeuge zum Umwandeln von Kaffeemodellen in das Serialisierungsformat von Neon.
Dieses Repo enthält Tools zum Umwandeln von Kaffeemodellen in ein Format, das mit der Neon Deep Learning Library kompatibel ist. Das Hauptskript "decaffeininat.py" nimmt als Eingabe eine Caffe -Modelldefinitionsdatei und die entsprechende Modellgewichtsdatei ein und gibt eine serialisierte Neon -serialisierte Modelldatei zurück. Diese Ausgabedatei kann verwendet werden, um das Neon -Modellobjekt zu instanziieren, das ein Modell in Neon generiert, das das Verhalten des Caffe -Modells replizieren sollte.
Konvertieren Sie zum Pytorch -Modell .
Konvertieren Sie das MXNET / Gluon -Diagramm in Pytorch Source + Gewichte.
Convert resnet in Caffe in Pytorch -Modell konvertiert.
Konvertieren Sie das Torch -T7 -Modell in Pytorch -Modell und Quelle.
chainer2pytorch implementiert Konvertierungen von Kettenmodulen in Pytorch -Module und setzen die Parameter der einzelnen Module so ein, dass man Modulbasis über Modelle portieren kann.
Laden Sie Caffe -Prototxt und Gewichte direkt in Pytorch, ohne das Modell explizit von Kaffe in Pytorch zu konvertieren.
Konvertieren Sie zwischen Keras und Pytorch -Modellen.
Um konvertieren in das Torchmodell .
Konvertiert bvlc_googlenet.caffemodel in ein Torch NN -Modell.
Möchten Sie das vorgebildete Googlenet aus dem BVLC-Modellzoo in Taschenlampe verwenden? Möchten Sie Kaffe nicht als zusätzliche Abhängigkeit innerhalb der Taschenlampe verwenden? Verwenden Sie diese beiden Skripte, um die Netzwerkdefinition in Torch zu erstellen und die erlernten Gewichte aus dem KAFFE -Modell zu kopieren.
Konvertieren Sie das Torchmodell leicht in/aus dem KAFFE -Modell.
Konvertieren Sie das Kaffeemodell in ein Torch Nn. -Sequential -Modell.
Konvertieren Sie zum Kerasmodell .
Es ist ein Wege-Umwandler zwischen Keras und Kaffe. Mit Caffe_weight_Converter werden die Gewichte aus dem .caffemodel genommen und generiert ein äquivalentes Keras -Modell. Es gibt auch den Python -Quellcode aus, der zum Generieren dieses Keras -Modells verwendet wird.
Dieses Projekt wird als Teil des vorherigen auf dieser Liste verwendet: Alexpasqua/Keras-Caffe-Konverter, das vollständiger, dokumentiert und einfach zu bedienen ist. Ich würde stattdessen empfehlen.
Dies ist ein Kaffe-zu-Keras-Gewichts-Konverter, dh es wandelt. .caffemodel Gewichtsdateien in Keras-2-kompatible HDF5-Gewichtsdateien. Es kann auch .caffemodel als Numpy -Arrays für die weitere Verarbeitung exportieren.
Dieser Konverter wandelt nur die Gewichte eines Modells um (nicht die Modelldefinition), was den großen Vorteil hat, dass er nicht jedes Mal aufbricht, wenn er auf einen unbekannten Schichttyp wie andere Konverter trifft, um auch die Modelldefinition zu übersetzen. Der Nachteil ist natürlich, dass Sie die Modelldefinition selbst schreiben müssen.
Das Repository bietet auch konvertierte Gewichte für einige beliebte Modelle.
Hinweis: Dieser Konverter wurde aus dem Code in Marc Bolaños -Gabel von Kaffe adaptiert. Siehe ACKs für Code -Herkunft.
Dies soll als Konvertierungsmodul für Kaffeemodelle für Keras -Modelle dienen.
Bitte beachten Sie, dass dieses Modul nicht regelmäßig gewartet wird. Somit sind einige Schichten oder Parameterdefinitionen, die in neueren Versionen von Keras oder Kaffe eingeführt wurden, möglicherweise nicht mit dem Konverter kompatibel. Anfragen willkommen!
Ein neuronales Netzwerkkonvertor für Modelle unter Kaffe -Tensorflow -Keras
Die Gabel von Keras mit mehreren neuen Funktionen. Caffe2keras Converter, multimodale Schichten usw. https://github.com/marcbs/keras
Diese Gabel von Keras bietet die folgenden Beiträge:
Caffe to Keras Conversion Modul Schichtspezifische Lernraten Neue Ebenen für multimodale Datenkontakt E-Mail: [email protected]
GitHub -Seite: https://github.com/Marcbs
Marcbs/Keras ist kompatibel mit: Python 2.7 und nur Theano.
Ein einfaches Werkzeug zur Übersetzung von Kaffeemodell in das Kerasmodell.
Konvertieren Sie zwischen Keras und Pytorch -Modellen.
Pytorch -Modelle in Keras konvertieren.
Konvertieren Sie zum DarkNet -Modell .
Konvertieren Sie zwischen Pytorch-, Caffe- und Darknet -Modellen. Caffe -Darknet -Modelle können direkt von Pytorch geladen werden.
Konvertieren Sie zum TensorFlow -Modell .
Das Übersprechen stammt von CNTK.
Tools zum Konvertieren von Kerasmodellen zur Verwendung mit anderen ML -Frameworks (Coreml, TensorFlow).
Ein neuronales Netzwerkkonvertor für Modelle unter Kaffe -Tensorflow -Keras
Konvertieren Sie Kaffeemodelle in den Tensorflow.
Konvertiert eine Vielzahl von trainierten Modellen in eine gefrorene Tensorflow -Protokollpufferdatei für die Verwendung der C ++ - Tensorflow -API. C ++ - Code ist für die Verwendung der gefrorenen Modelle enthalten.
Übersetzen Sie Darknet in den TensorFlow. Lasten Sie geschulte Gewichte, senden/feinstimmen Sie mit Tensorflow, exportieren Sie konstante Diagramme Def auf mobile Geräte.
TensorFlow -Code, um Yolo in einem neuen Datensatz mit Gewichten von DarkNet zu übertragen
Dieses Repository enthält Experimente des Transferlernens mit YOLO auf einem neuen synthetischen LEGO -Datensatz grob und undokumentiert!
Konvertieren Sie Kerasmodelle in den Tensorflow Frozen Graph, um sie auf Mobiltelefonen usw. zu verwenden.
Allgemeiner Code zum Umwandeln eines ausgebildeten Keras -Modells in ein Inferenz -Tensorflow -Modell.
Umwandlung eines vorgezogenen Pytorch -Modells in den Tensorflow
Konvertieren Sie Pytorch -Modelle in den Tensorflow (über Keras)
Dies ist ein einfacher Konvektor, der die DarkNet -Gewichtsdatei (.gewichtet) in die TensorFlow -Gewichtsdatei (.ckpt) umwandelt.
Keine Readme.
Konvertieren Sie in das Kettenermodell .
Konvertieren Sie zum COREML -Modell .
Konvertierte geschulte Modelle, die mit maschinellem Lernwerkzeugen von Drittanbietern in das Kernmodellformat erstellt wurden.
Wenn Ihr Modell mithilfe eines unterstützten Werkzeugs für maschinelles Lernen von Drittanbietern erstellt und trainiert wird, können Sie Kern-ML-Tools verwenden, um es in das Kern-ML-Modellformat umzuwandeln. Tabelle 1 listet die unterstützten Modelle und Drittanbieter-Tools auf.
| Modelltyp | Unterstützte Modelle | Unterstützte Werkzeuge |
|---|---|---|
| Neuronale Netze | Feedforward, Faltungsverhältnis, wiederkehrend | Kaffe V1 Keras 1.2.2+ |
| Baumensembles | Zufällige Wälder, erhöhte Bäume, Entscheidungsbäume | Scikit-Learn 0,18 Xgboost 0,6 |
| Vektormaschinen unterstützen | Skalare Regression, Klassifizierung mit mehreren Klassen | Scikit-Learn 0,18 LIBSVM 3.22 |
| Verallgemeinerte lineare Modelle | Lineare Regression, logistische Regression | Scikit-Learn 0,18 |
| Feature Engineering | Spärliche Vektorisierung, dichte Vektorisierung, kategoriale Verarbeitung | Scikit-Learn 0,18 |
| Pipeline -Modelle | Sequentiell angekettete Modelle | Scikit-Learn 0,18 |
Umwandeln Sie MXNET -Modelle in das Apple Coreml -Format. Dieses Tool hilft, MXNET -Modelle in das Apple Coreml -Format umzuwandeln, das dann auf Apple -Geräten ausgeführt werden kann.
Dieses Tool hilft dabei, Torch7 -Modelle in das Apple Coreml -Format umzuwandeln, das dann auf Apple -Geräten ausgeführt werden kann.
Torch7 -Bibliothek - Konvertieren von NN -Modellen in ein iOS -Format.
Kleine libs, um Torch7 -Netzwerke für iOS zu serialisieren. Zu den unterstützten Schichten gehören derzeit vollständig vernetzte, Pooling- und Faltungsschichten. Die Bibliothek speichert die Gewichte und Verzerrungen (falls vorhanden) für jede Ebene Necesarry, um auf iOS -Geräte zu gelöst.
Keras modelliert mit Python-basiertem Konvertor, um Einbetten in eine iOS-Plattform bereitzustellen.
Tools zum Konvertieren von Kerasmodellen zur Verwendung mit anderen ML -Frameworks (Coreml, TensorFlow).
Google hat mit Apple zusammengearbeitet, um einen Tensorflow für die Coreml Converter -Ankündigung zu erstellen.
Die Unterstützung für Kern -ML wird durch ein Tool bereitgestellt, das ein TensorFlow -Modell nimmt und es in das Kernmodellformat (.mlmodel) umwandelt.
Konvertieren Sie in Paddelmodell .
X2Paddle ist ein Toolkit zum Umwandeln von geschulter Modell in Paddlepaddle aus anderen Deep -Learning -Frameworks.
Detailliertere Modelle: x2paddle/x2paddle_model_zoo.md bei entwickeln · paddlepaddle/x2paddle