Le projet sera mis à jour en continu ......
Les demandes de traction sont les bienvenues!
Remarque: Ce n'est pas un convertisseur pour tous les frameworks, mais une collection de différents convertisseurs. Parce que Github est une plate-forme open source, j'espère que nous pourrons nous aider ici, rassembler la force de chacun.
En raison de ces différents cadres, les convertisseurs impressionnants de modèles d'apprentissage en profondeur pour différents cadres se produisent. Il convient de noter que je n'ai pas testé tous les convertisseurs, donc je ne pouvais pas garantir que chacun était disponible. Mais j'espère aussi que cette collection de convertisseurs pourrait vous aider!
La feuille ci-dessous est un aperçu de tous les convertisseurs dans GitHub (non seulement contiennent des implémentations officielles et des implémentations de l'utilisateur). Je fais juste un peu de travail pour collecter ces convertisseurs. J'espère également que tout le monde pourra soutenir ce projet pour aider davantage de personnes qui sont également folles en raison de divers cadres.
| convertisseur | mxnet | caffe | Caffe2 | Cntk | Theano / Lasagne | néon | pytorch | torche | kéras | darknet | tensorflow | chaîne-chaîne | coreml / iOS | pagayer | Onnx |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - | MMDNN MXNET2CAFFE MXNET2CAFFE | MMDNN (via ONNX) | Mmdnn | Aucun | Aucun | Mmdnn gluon2pytorch | Aucun | Mmdnn | Aucun | Mmdnn | Aucun | mxnet à coreml mmdnn | Aucun | Aucun |
| caffe | mxnet / outils / caffe_converter resnet_caffe2mxnet mmdnn | - | Caffetocaffe2 MMDNN (via ONNX) | crosstalcaffe / caffeconverter mmdnn | CAFE_THEANO_CONVERSION CAFFE-MODEL-CONVER CAFT-TO-THEANO | caffe2neon | MMDNN PYTORCH-CAFFE PYTORCH-RESNET | Googlenet-Caffe2torch Mocha Loadcaffe | Keras-Caffe-Converter CAFE_WEMPL_CONVERTER CAFE2KERAS NN_TOOLS KERAS CAF2KERAS DEEP_LELAGE_MODEL_CONVERTER MMDNN | pytorch-caffe-darknet-converti | MMDNN NN_TOOLS CAFE-TENSORFLOW | Aucun | Coremlzoo pomme / coremltools mmdnn | X2paddle | caffe2onnx |
| Caffe2 | Aucun | Aucun | - | Onnx | Aucun | Aucun | Onnx | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun |
| Cntk | Mmdnn | Mmdnn | Onnx mmdnn (via onnx) | - | Aucun | Aucun | Onnx mmdnn | Aucun | Mmdnn | Aucun | Mmdnn | Aucun | Mmdnn | Aucun | Aucun |
| Theano / Lasagne | Aucun | Aucun | Aucun | Aucun | - | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun |
| néon | Aucun | Aucun | Aucun | Aucun | Aucun | - | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun |
| pytorch | Mmdnn | Brocolli Pytorchtocaffe mmdnn pytorch2caffe pytorch-caffe-darknet-converti | ONNX-CAFFE2 MMDNN (via ONNX) | Onnx mmdnn | Aucun | Aucun | - | Aucun | Mmdnn pytorch2keras nn-transfer | pytorch-caffe-darknet-converti | Mmdnn pytorch2keras (sur keras) pytorch-tf | Aucun | Mmdnn onnx-coreml | Aucun | Aucun |
| torche | Aucun | FB-Caffe-Texts / Torch2Caffe Mocha Trans-Torch Th2caffe | Torch2caffe2 | Aucun | Aucun | Aucun | convert_torch_to_pytorch | - | Aucun | Aucun | Aucun | Aucun | torch2coreml torch2ios | Aucun | Aucun |
| kéras | Mmdnn | Keras-Caffe-Converter MMDNN NN_TOOLS KERAS2CAFFE | MMDNN (via ONNX) | Mmdnn | Aucun | Aucun | Mmdnn nn-transfert | Aucun | - | Aucun | nn_tools converti-tonsorflow keras_to_tensorflow keras_to_tensorflow mmdnn | Aucun | Apple / Coremltools Modèles-convertisseurs KERAS_MODELS MMDNN | Aucun | Aucun |
| darknet | Aucun | pytorch-caffe-darknet-converti | Aucun | Mmdnn | Aucun | Aucun | pytorch-caffe-darknet-converti | Aucun | Mmdnn | - | Dw2tf darkflow lego_yolo | Aucun | Aucun | Aucun | Aucun |
| tensorflow | Mmdnn | Mmdnn nn_tools | MMDNN (via ONNX) | Crosstal MMDNN | Aucun | Aucun | pytorch-tf mmdnn | Aucun | convertisseurs modèles nn_tools converti-to-tensorflow mmdnn | Aucun | - | Aucun | tfCoreml mmdnn | X2paddle | Aucun |
| chaîne-chaîne | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | chainer2pytorch | Aucun | Aucun | Aucun | Aucun | - | Aucun | Aucun | Aucun |
| coreml / iOS | Mmdnn | Mmdnn | MMDNN (via ONNX) | Mmdnn | Aucun | Aucun | Mmdnn | Aucun | Mmdnn | Aucun | Mmdnn | Aucun | - | Aucun | |
| pagayer | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | - | Aucun |
| Onnx | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | onnx2torch onnx2torch | Aucun | Aucun | Aucun | Aucun | Aucun | Aucun | X2paddle | - |
Cadre général pour la conversion entre toutes sortes de réseaux de neurones
ONNX est un effort pour unifier les convertisseurs pour les réseaux de neurones afin d'apporter une certaine santé mentale au monde du NN. Sorti par Facebook et Microsoft. Plus d'informations ici.
MMDNN est un ensemble d'outils pour aider les utilisateurs à internover entre différents cadres d'apprentissage en profondeur. Par exemple, conversion et visualisation du modèle. Convertir les modèles entre Caffamemit, CNTK, Coreml, Keras, Mxnet, ONNX, Pytorch et Tensorflow.

Convertir en modèle MXNET .
Quelques modèles d'apprentissage en profondeur sont convertis de divers formats au format coremls. Modèles actuellement disponibles:
Les sujets clés abordés comprennent les éléments suivants:
Il s'agit d'un outil pour convertir les réseaux de résidus en profondeur du modèle CAFFE en modèle MXNET. Les poids sont directement copiés à partir de blobs de réseau CAFFE.
Convertir en modèle CAFE .
C'est un convertisseur entre Keras et Caffe dans les deux sens. Il fonctionne en utilisant uniquement le modèle Keras pour générer à la fois les fichiers CaffEmodel et Prototxt, mais il est également possible de le transmettre le fichier Prototxx avec la description du modèle si vous l'avez.
Support 1.9.0 ou Pytorch supérieur
Convertir le modèle Pytorch en Caffemodel.
Convertir le modèle MXNET en modèle CAFFE.
Convertir le modèle MXNET en modèle CAFFE.
Convertissez facilement le modèle de torche en / depuis le modèle de caffes.
Cet outil testé avec Caffe 1.0, Keras 2.1.2 et TensorFlow 1.4.0
Exemples de conversion de travail:
Couches de problème:
Quelques bibliothèques et outils de services publics pratiques pour le CaFe Deep Learning Framework, qui a ** une bibliothèque pour convertir les modèles de torch pré-formés en modèles CAFE équivalents. **
Convertissez entre les modèles Pytorch, Caffe et DarkNet. Les modèles Caffe Darknet peuvent être chargés directement par Pytorch.
Traduction du modèle de torche en d'autres cadre tels que Caffe, MXNET ...
Un convertisseur torch-NN à Caffe pour des couches spécifiques.
Un convertisseur de réseau neuron
Fournir un outil pour les cadres de réseau neuronal pour Pytorch et Caffe.
Le NN_TOOLS est publié sous la licence MIT (reportez-vous au fichier de licence pour plus de détails).
caractéristiques:
exigences
Convertir en modèle CAF2 .
Il s'agit d'un convertisseur officiel, qui non seulement provoque un script également un ordinateur portable IPython comme ci-dessous:
Convertir Pytorch en Caffe2 (ce qui le rend particulièrement facile à déployer sur les appareils mobiles)
Convertir en modèle CNTK .
L'outil vous aidera à convertir des modèles formés de Caffe en CNTK.
Convertir les modèles formés: donner un script de modèle et son fichier de poids, exporter vers le modèle CNTK.
La diaphonie est de CNTK contrib.
Convertir au modèle Theano / Lasagne .
Cela fait partie d'un projet de CS231N à l'Université de Stanford, écrit par Ankit Kumar, Mathematics Major, classe de 2015
Il s'agit d'un référentiel qui vous permet de convertir des modèles de CAFE pré-entraînés en modèles en lasagne, un emballage mince autour de Theano. Vous pouvez également convertir l'architecture d'un modèle CAFFE en une architecture équivalente dans les lasagnes. Vous n'avez pas besoin de Caffe installée pour utiliser ce module.
Actuellement, les couches CAFFE suivantes sont prises en charge:
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
Convertir des modèles de Caffe au format Theano.
Convertissez un modèle CAFE en un modèle Theano. Cela fonctionne actuellement sur Alexnet, mais devrait fonctionner pour tout modèle CAFE qui ne comprend que des couches qui ont été insuffisantes.
Convertir en modèle néon .
Outils pour convertir les modèles CAFFE au format de sérialisation de Neon.
Ce dépôt contient des outils pour convertir les modèles CAFFE en un format compatible avec la bibliothèque de Deep Learning Neon. Le script principal, "décaféinate.py", prend en entrée un fichier de définition de modèle CAFE et le modèle de modèle correspondant ponde le fichier et renvoie un fichier de modèle sérialisé néon. Ce fichier de sortie peut être utilisé pour instancier l'objet de modèle néon, qui générera un modèle de néon qui devrait reproduire le comportement du modèle CAFFE.
Convertissez en modèle Pytorch .
Convertir le graphique MXNET / Gluon en Pytorch Source + Poids.
Convertir Resnet formé à Caffe en modèle Pytorch.
Convertir le modèle TORCH T7 en modèle et source Pytorch.
chainer2pytorch implémente les conversions des modules de chaîneur en modules Pytorch, en réglant les paramètres de chaque module de telle sorte que l'on peut porter des modèles sur une base de module.
Chargez la caffe prototxt et pondérations directement dans Pytorch sans convertir explicitement le modèle de Caffe en pytorch.
Convertissez entre les modèles Keras et Pytorch.
Convertir en modèle de torche .
Convertit bvlc_googlenet.caffemodel en un modèle de torche nn.
Vous voulez utiliser le googlenet pré-formé du zoo du modèle BVLC dans Torch? Vous ne souhaitez pas utiliser Caffe comme dépendance supplémentaire à l'intérieur de la torche? Utilisez ces deux scripts pour construire la définition du réseau dans Torch et copier les poids apprises du modèle CAFE.
Convertissez facilement le modèle de torche en / depuis le modèle de caffes.
Convertir le modèle de CAFE en un modèle de torche nn.
Convertir en modèle Keras .
Il s'agit d'un convertisseur des deux voies entre Keras et Caffe. Il prend les poids du .caffemodel à l'aide de CAFE_WEMPL_CONVERTER et génère un modèle Keras équivalent. Il publie également le code source Python utilisé pour générer ce modèle KERAS.
Ce projet est utilisé dans le cadre de la précédente sur cette liste: Alexpasqua / Keras-Caffe-Converter, qui est plus complet, documenté et facile à utiliser. Je recommanderais d'utiliser celui-là à la place.
Il s'agit d'un convertisseur de poids Caffe-To-Keras, c'est-à-dire qu'il convertit .caffemodel FICHIERS DE PELETS EN KERAS-2 Fichiers de poids HDF5 compatibles KERAS-2. Il peut également exporter des poids .caffemodel sous forme de tableaux Numpy pour un traitement ultérieur.
Ce convertisseur convertit uniquement les poids d'un modèle (pas la définition du modèle), qui a le grand avantage qu'il ne se casse pas chaque fois qu'il rencontre un type de couche inconnu comme les autres convertisseurs vers ce qui essaie également de traduire la définition du modèle. L'inconvénient, bien sûr, est que vous devrez écrire vous-même la définition du modèle.
Le référentiel fournit également des poids convertis pour certains modèles populaires.
Remarque: Ce convertisseur a été adapté du code dans Marc Bolaños Fork de Caffe. Voir ACKS pour la provenance du code.
Ceci est destiné à servir de module de conversion pour les modèles CAFFE en modèles Keras.
S'il vous plaît, sachez que ce module n'est pas régulièrement entretenu. Ainsi, certaines couches ou définitions de paramètres introduites dans les versions plus récentes de Keras ou de Caffe peuvent ne pas être compatibles avec le convertisseur. Tirez les demandes de bienvenue!
Un convertisseur de réseau neuron
Keras 'Fork avec plusieurs nouvelles fonctionnalités. Convertisseur Caffe2keras, couches multimodales, etc. https://github.com/marcbs/keras
Cette fourche de keras offre les contributions suivantes:
Cafe to Keras Conversion Module Lay Specific d'apprentissage Taux d'apprentissage Nouvelles couches pour les données multimodales Contact Courriel: [email protected]
GitHub Page: https://github.com/marcbs
Marcbs / Keras est compatible avec: Python 2.7 et Theano uniquement.
Un outil simple pour traduire le modèle CAFFE en modèle Keras.
Convertissez entre les modèles Keras et Pytorch.
Convertissez les modèles Pytorch en keras.
Convertir en modèle DarkNet .
Convertissez entre les modèles Pytorch, Caffe et DarkNet. Les modèles Caffe Darknet peuvent être chargés directement par Pytorch.
Convertir en modèle TensorFlow .
La diaphonie est de CNTK.
Outils pour convertir des modèles Keras à utiliser avec d'autres cadres ML (COREML, TensorFlow).
Un convertisseur de réseau neuron
Convertissez les modèles CAFFE en TensorFlow.
Convertit une variété de modèles formés en un fichier de tampon de protocole TensorFlow congelé pour être utilisé avec l'API C ++ TensorFlow. Le code C ++ est inclus pour l'utilisation des modèles congelés.
Traduire Darknet en TensorFlow. Chargez des poids formés, recyclage / affiner en utilisant TensorFlow, exportez le graphique constant Def vers les appareils mobiles.
Code TensorFlow pour recycler Yolo sur un nouvel ensemble de données en utilisant des poids de DarkNet
Ce référentiel contient des expériences d'apprentissage par transfert à l'aide de YOLO sur un nouvel ensemble de données LEGO synthétiques rugueux et sans papiers!
Convertir les modèles Keras en graphique congelé TensorFlow pour une utilisation sur les téléphones portables, etc.
Code général pour convertir un modèle Keras formé en un modèle d'inférence TensorFlow.
Convertir un modèle Pytorch pré-entraîné en TensorFlow
Convertir les modèles Pytorch en TensorFlow (via Keras)
Il s'agit d'un simple convecteur qui convertit le fichier de poids DarkNet (.weights) dans le fichier de poids TensorFlow (.CKPT).
Pas de lecture.
Convertir en modèle de chaîne .
Convertissez en modèle COREML .
Convertissez des modèles formés créés avec des outils d'apprentissage automatique tiers au format de modèle ML de base.
Si votre modèle est créé et formé à l'aide d'un outil d'apprentissage automatique tiers pris en charge, vous pouvez utiliser les outils Core ML pour le convertir au format de modèle ML de base. Le tableau 1 répertorie les modèles pris en charge et les outils tiers.
| Type de modèle | Modèles pris en charge | Outils pris en charge |
|---|---|---|
| Réseaux neuronaux | FeedForward, convolutionnel, récurrent | Caffe v1 Keras 1.2.2+ |
| Ensembles d'arbres | Forêts aléatoires, arbres boostés, arbres de décision | Scikit-Learn 0.18 Xgboost 0.6 |
| Machines vectorielles de support | Régression scalaire, classification multiclasse | Scikit-Learn 0.18 Libsvm 3.22 |
| Modèles linéaires généralisés | Régression linéaire, régression logistique | Scikit-Learn 0.18 |
| Ingénierie de caractéristiques | Vectorisation clairsemée, vectorisation dense, traitement catégorique | Scikit-Learn 0.18 |
| Modèles de pipeline | Modèles à chaîne séquentielle | Scikit-Learn 0.18 |
Convertir les modèles MXNET en format Apple Coreml. Cet outil aide à convertir les modèles MXNET en format Apple Coreml qui peut ensuite être exécuté sur les appareils Apple.
Cet outil aide à convertir les modèles TORCH7 en format Apple Coreml qui peut ensuite être exécuté sur les appareils Apple.
Bibliothèque Torch7 - Convertir les modèles NN au format iOS.
Small lib to serialiser les réseaux Torch7 pour iOS. Les couches prises en charge incluent actuellement les couches entièrement connectées, la mise en commun et la convolution. La bibliothèque stocke les poids et les biais (le cas échéant) pour chaque couche nécessaire pour l'inférence sur les appareils iOS.
Modèles Keras avec convertisseur basé sur Python pour fournir l'intégration dans la plate-forme iOS.
Outils pour convertir des modèles Keras à utiliser avec d'autres cadres ML (COREML, TensorFlow).
Google a collaboré avec Apple pour créer une annonce TensorFlow à CoreMl Converter.
La prise en charge de Core ML est fournie via un outil qui prend un modèle TensorFlow et le convertit au format de modèle Core ML (.mlModel).
Convertir en modèle de pagaie .
X2Paddle est une boîte à outils pour convertir le modèle formé en paddlepaddle à partir d'autres cadres d'apprentissage en profondeur.
Modèles plus détaillés: x2paddle / x2paddle_model_zoo.md à développer · paddlepaddle / x2paddle