El proyecto se actualizará continuamente ......
¡Las solicitudes de extracción son bienvenidas!
Nota: Este no es un convertidor para todos los marcos, sino una colección de diferentes convertidores. Debido a que Github es una plataforma de código abierto, espero que podamos ayudarnos unos a otros aquí, reunir la fuerza de todos.
Debido a estos diferentes marcos, se producen los increíbles conversores de los modelos de aprendizaje profundo para diferentes marcos. Cabe señalar que no probé todos los convertidores, por lo que no pude garantizar que cada uno estuviera disponible. ¡Pero también espero que esta colección de conversores te ayude!
La siguiente hoja es una descripción general de todos los convertidores en GitHub (no solo contienen oficiales proporcionados y más son implementaciones de Self User). Solo hago un poco de trabajo para recolectar estos convertidores. Además, espero que todos puedan apoyar este proyecto para ayudar a más personas que también están locas debido a varios marcos.
| convertidor | mxnet | cafetería | caffe2 | Cittk | Eano/lasaña | neón | pytorch | antorcha | keras | red oscura | flujo tensor | encadenador | coreMl/iOS | paleta | ONNX |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - | MMDNN MXNET2CAFFE MXNET2CAFFE | Mmdnn (a través de Onnx) | Mmdnn | Ninguno | Ninguno | Mmdnn gluon2pytorch | Ninguno | Mmdnn | Ninguno | Mmdnn | Ninguno | MXNET TO COREML MMDNN | Ninguno | Ninguno |
| cafetería | mxnet/herramientas/caffe_converter resnet_caffe2mxnet mmdnn | - | CAFFETOCAFFE2 MMDNN (a través de ONNX) | Crosstalkcaffe/Caffeconverter mmdnn | CAFFE_Theano_Conversion Caffe-Modelo Convertir Caffe-to-Theano | Caffe2neon | Mmdnn pytorch-caffe pytorch-resnet | googlenet-caffe2torch mocha loadcaffe | Keras-Caffe-Converter Caffe_weight_Converter CAFFE2KERAS NN_TOOLS KERAS CAFFE2KERAS DEPART_LOLEDE_MODEL_CONVERTER MMDNN | Pytorch-Caffe-Darknet-Convertir | Mmdnn nn_tools cafe-tensorflow | Ninguno | Coremlzoo Apple/CoremlTools Mmdnn | X2paddle | caffe2onnx |
| caffe2 | Ninguno | Ninguno | - | ONNX | Ninguno | Ninguno | ONNX | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno |
| Cittk | Mmdnn | Mmdnn | Onnx Mmdnn (a través de Onnx) | - | Ninguno | Ninguno | Onnx mmdnn | Ninguno | Mmdnn | Ninguno | Mmdnn | Ninguno | Mmdnn | Ninguno | Ninguno |
| Eano/lasaña | Ninguno | Ninguno | Ninguno | Ninguno | - | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno |
| neón | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | - | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno |
| pytorch | Mmdnn | brocolli pytorchtocaffe mmdnn pytorch2caffe pytorch-caffe-darknet-convertir | ONNX-CAFFE2 MMDNN (a través de ONNX) | Onnx mmdnn | Ninguno | Ninguno | - | Ninguno | Mmdnn pytorch2keras nn-transfer | Pytorch-Caffe-Darknet-Convertir | Mmdnn pytorch2keras (sobre keras) pytorch-tf | Ninguno | Mmdnn onnx-coreMl | Ninguno | Ninguno |
| antorcha | Ninguno | FB-Caffe-Exts/Torch2Caffe Mocha Trans-Torch Th2Caffe | Antorcha2caffe2 | Ninguno | Ninguno | Ninguno | convert_torch_to_pytorch | - | Ninguno | Ninguno | Ninguno | Ninguno | Torch2Coreml Torch2ios | Ninguno | Ninguno |
| keras | Mmdnn | Keras-Caffe-Converter mmdnn nn_tools keras2caffe | Mmdnn (a través de Onnx) | Mmdnn | Ninguno | Ninguno | Mmdnn nn-transfer | Ninguno | - | Ninguno | nn_tools convertir a tensorflow keras_to_tensorflow keras_to_tensorflow mmdnn | Ninguno | Apple/CoremlTools Converters Keras_Models Mmdnn | Ninguno | Ninguno |
| red oscura | Ninguno | Pytorch-Caffe-Darknet-Convertir | Ninguno | Mmdnn | Ninguno | Ninguno | Pytorch-Caffe-Darknet-Convertir | Ninguno | Mmdnn | - | DW2TF Darkflow LEGO_YOLO | Ninguno | Ninguno | Ninguno | Ninguno |
| flujo tensor | Mmdnn | Mmdnn nn_tools | Mmdnn (a través de Onnx) | Crosstalk mmdnn | Ninguno | Ninguno | pytorch-tf mmdnn | Ninguno | Converters de modelo nn_tools convertir a tensorflow mmdnn | Ninguno | - | Ninguno | tfcoreml mmdnn | X2paddle | Ninguno |
| encadenador | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Chainer2pytorch | Ninguno | Ninguno | Ninguno | Ninguno | - | Ninguno | Ninguno | Ninguno |
| coreMl/iOS | Mmdnn | Mmdnn | Mmdnn (a través de Onnx) | Mmdnn | Ninguno | Ninguno | Mmdnn | Ninguno | Mmdnn | Ninguno | Mmdnn | Ninguno | - | Ninguno | |
| paleta | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | - | Ninguno |
| ONNX | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | onnx2torch onnx2torch | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | Ninguno | X2paddle | - |
Marco general para convertir entre todo tipo de redes neuronales
ONNX es un esfuerzo por unificar a los convertidores para las redes neuronales para aportar cierta cordura al mundo de NN. Lanzado por Facebook y Microsoft. Más información aquí.
MMDNN es un conjunto de herramientas para ayudar a los usuarios a interoperar entre diferentes marcos de aprendizaje profundo. EG Conversión y visualización del modelo. Convierta modelos entre Caffeemit, CNTK, Coreml, Keras, MXNet, ONNX, Pytorch y TensorFlow.

Convertir al modelo MXNET .
Algunos modelos de aprendizaje profundo se convirtieron de varios formatos al formato Coremls. Modelos actualmente disponibles:
Los temas clave cubiertos incluyen lo siguiente:
Esta es una herramienta para convertir las redes de resistencia profunda del modelo CAFFE en el modelo MXNET. Los pesos se copian directamente de blobs de red Caffe.
Convertir al modelo Caffe .
Es un convertidor entre Keras y Caffe en ambos sentidos. Funciona usando solo el modelo Keras para generar los archivos de cafeModelo y protottil de protottiles, pero también es posible pasarlo el archivo de protottil de protottil con la descripción del modelo si lo tiene.
Soporte 1.9.0 o superior Pytorch
Convierta el modelo Pytorch en cafeModelo.
Convierta el modelo MXNET al modelo CAFFE.
Convierta el modelo MXNET al modelo CAFFE.
Convierta el modelo de antorcha a/desde el modelo CAFFE fácilmente.
Esta herramienta probada con Caffe 1.0, Keras 2.1.2 y Tensorflow 1.4.0
Ejemplos de conversión de trabajo:
Capas de problemas:
Algunas útiles bibliotecas y herramientas de utilidad para el marco de aprendizaje profundo de Caffe, que tiene ** una biblioteca para convertir modelos de antorcha previamente capacitados en modelos Caffe equivalentes. **
Convierta entre modelos Pytorch, Caffe y Darknet. Los modelos Caffe Darknet se pueden cargar directamente por Pytorch.
Traducción del modelo de antorcha a otro marco como Caffe, MXNet ...
Un convertidor de antorcha-nn a cafe para capas específicas.
Un convertidor de red neuronal para modelos entre Keras de Caffe Tensorflow
Proporcionar una herramienta para marcos de redes neuronales para Pytorch y Caffe.
El NN_Tools se publica bajo la licencia MIT (consulte el archivo de licencia para obtener más detalles).
características:
requisitos
Convertir al modelo CAFFE2 .
Este es un convertidor oficial, que no solo provoca un script también un cuaderno de Ipython como se muestra a continuación:
Convertir Pytorch a Caffe2 (lo que hace que sea especialmente fácil de implementar en dispositivos móviles)
Convertir al modelo CNTK .
La herramienta lo ayudará a convertir modelos capacitados de Caffe a CNTK.
Convertir modelos entrenados: dar un script de modelo y su archivo de pesas, exportar al modelo CNTK.
La diafonía es de CNTK Contrib.
Convertir al modelo theano/lasaña .
Esto es parte de un proyecto para CS231N en la Universidad de Stanford, escrito por Ankit Kumar, Mathematics Major, Clase de 2015
Este es un repositorio que le permite convertir los modelos de cafetería previos a los modelos en modelos en lasaña, un envoltorio delgado alrededor de Thano. También puede convertir la arquitectura de un modelo Caffe a una equivalente en lasaña. No necesita Caffe instalado para usar este módulo.
Actualmente, se admiten las siguientes capas de cafe:
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
Convierta modelos de Caffe a Formato de theano.
Convierta un modelo Caffe a un modelo theo. Esto actualmente funciona en Alexnet, pero debería funcionar para cualquier modelo de cafe que solo incluya capas que se hayan impeminado.
Convertir al modelo de neón .
Herramientas para convertir modelos Caffe en formato de serialización de Neon.
Este repositorio contiene herramientas para convertir los modelos Caffe en un formato compatible con la Biblioteca de Aprendizaje Neon Deep. El script principal, "DeCaffeinate.py", toma como entrada un archivo de definición del modelo Caffe y el archivo de pesos del modelo correspondiente y devuelve un archivo de modelo serializado de neón. Este archivo de salida se puede utilizar para instanciar el objeto del modelo de neón, que generará un modelo en neón que debería replicar el comportamiento del modelo CAFFE.
Convertir al modelo Pytorch .
Convierta el gráfico MXNET / Gluon en Pytorch Source + Peso.
Convierta RENNE capacitado en el modelo Caffe a Pytorch.
Convierta el modelo de antorcha T7 al modelo y fuente de Pytorch.
chainer2pytorch implementa conversiones de módulos Chainer a módulos de Pytorch, configurando los parámetros de cada módulos de modo que uno pueda pasar por los modelos sobre una base de módulo.
Cargue el protottil de cafe y pesa directamente en Pytorch sin convertir explícitamente el modelo de cafe a pytorch.
Convierta entre modelos Keras y Pytorch.
Convertir al modelo de antorcha .
Convierte bvlc_googlenet.caffemodel en un modelo de antorcha nn.
¿Quiere usar el googlenet previamente capacitado del zoológico del modelo BVLC en la antorcha? ¿No quieres usar Caffe como una dependencia adicional dentro de la antorcha? Use estos dos scripts para crear la definición de red en la antorcha y copiar los pesos aprendidos del modelo Caffe.
Convierta el modelo de antorcha a/desde el modelo CAFFE fácilmente.
Convierta el modelo CAFFE en un modelo de antorcha Nn.Secuente.
Convertir al modelo Keras .
Es un convertidor de ambos vías entre Keras y Caffe. Toma los pesos del .caffemodel usando CAFFE_WEight_Converter y genera un modelo Keras equivalente. También genera el código fuente de Python utilizado para generar ese modelo Keras.
Este proyecto se utiliza como parte de la anterior en esta lista: Converter de alexpasqua/keras-caffe, que es más completo, documentado y fácil de usar. Recomiendo usar ese en su lugar.
Este es un convertidor de peso de Caffe-to-Keas, es decir, convierte los archivos de peso .caffemodel en archivos de peso HDF5 compatibles con Keras-2. También puede exportar pesas .caffemodel como matrices numpy para su posterior procesamiento.
Este convertidor convierte los pesos de un modelo solo (no la definición del modelo), que tiene la gran ventaja de que no se rompe cada vez que encuentra un tipo de capa desconocida como otros convertidores a los que intentan traducir la definición del modelo también. La desventaja, por supuesto, es que tendrá que escribir la definición del modelo usted mismo.
El repositorio también proporciona pesos convertidos para algunos modelos populares.
Nota: Este convertidor se ha adaptado del código en Marc Bolaños Fork de Caffe. Ver ACK para la procedencia del código.
Esto tiene la intención de servir como un módulo de conversión para los modelos Caffe a los modelos Keras.
Por favor, tenga en cuenta que este módulo no se mantiene regularmente. Por lo tanto, algunas capas o definiciones de parámetros introducidas en versiones más nuevas de Keras o Caffe podrían no ser compatibles con el convertidor. ¡Solicitud de solicitud de bienvenida!
Un convertidor de red neuronal para modelos entre Keras de Caffe Tensorflow
Keras 'bifurcado con varias funcionalidades nuevas. Caffe2keras convertidor, capas multimodales, etc. https://github.com/marcbs/keras
Esta bifurcación de Keras ofrece las siguientes contribuciones:
Tarifas de aprendizaje específicas del módulo de conversión de Caffe to Keras NUEVAS Capas para datos multimodales Correo electrónico: [email protected]
Página de Github: https://github.com/marcbs
Marcbs/keras es compatible con: Python 2.7 y theano solamente.
Una herramienta simple para traducir el modelo Caffe al modelo Keras.
Convierta entre modelos Keras y Pytorch.
Convierta los modelos Pytorch a Keras.
Convertir al modelo DarkNet .
Convierta entre modelos Pytorch, Caffe y Darknet. Los modelos Caffe Darknet se pueden cargar directamente por Pytorch.
Convertir al modelo TensorFlow .
La diafonía es de CNTK.
Herramientas para convertir modelos Keras para su uso con otros marcos ML (CorEML, TensorFlow).
Un convertidor de red neuronal para modelos entre Keras de Caffe Tensorflow
Convierta los modelos Caffe en TensorFlow.
Convierte una variedad de modelos entrenados en un archivo búfer de protocolo TensorFlow congelado para su uso con la API TensorFlow C ++. El código C ++ se incluye para usar los modelos congelados.
Traduce DarkNet a TensorFlow. Cargue pesas capacitadas, vuelvas a entrenar/ajustar con tensorflow, exportar gráfico constante DEF a dispositivos móviles.
TensorFlow Código para volver a entrenar a Yolo en un nuevo conjunto de datos utilizando pesas de Darknet
¡Este repositorio contiene experimentos de aprendizaje de transferencia utilizando yolo en un nuevo conjunto de datos sintético LEGO áspero e indocumentado!
Convierta los modelos Keras en gráfico congelado TensorFlow para su uso en teléfonos celulares, etc.
Código general para convertir un modelo Keras entrenado en un modelo de inferencia TensorFlow.
Convertir un modelo Pytorch previo al flujo de tensor
Convertir los modelos Pytorch a TensorFlow (a través de Keras)
Este es un convector simple que convierte el archivo de pesas DarkNet (.Weights) en TensorFlow Weights File (.ckpt).
No README.
Convertir al modelo Chainer .
Convertir al modelo CorEML .
Convertir modelos entrenados creados con herramientas de aprendizaje automático de terceros al formato de modelo ML central.
Si su modelo se crea y capacita utilizando una herramienta de aprendizaje automático de terceros compatible, puede usar herramientas ML Core para convertirlo en el formato de modelo ML central. La Tabla 1 enumera los modelos compatibles y las herramientas de terceros.
| Tipo de modelo | Modelos compatibles | Herramientas compatibles |
|---|---|---|
| Redes neuronales | Alimenticio, convolucional, recurrente | Caffe V1 Keras 1.2.2+ |
| Conjuntos de árboles | Bosques aleatorios, árboles impulsados, árboles de decisión | Scikit-learn 0.18 Xgboost 0.6 |
| Máquinas de vectores de soporte | Regresión escalar, clasificación multiclase | Scikit-learn 0.18 Libsvm 3.22 |
| Modelos lineales generalizados | Regresión lineal, regresión logística | Scikit-learn 0.18 |
| Ingeniería de características | Vectorización dispersa, vectorización densa, procesamiento categórico | Scikit-learn 0.18 |
| Modelos de tuberías | Modelos secuencialmente encadenados | Scikit-learn 0.18 |
Convierta los modelos MXNET en formato Apple CorEML. Esta herramienta ayuda a convertir los modelos MXNET en formato Apple CorEML que luego se puede ejecutar en dispositivos Apple.
Esta herramienta ayuda a convertir los modelos de Torch7 en formato Apple Coreml que luego se puede ejecutar en dispositivos Apple.
Biblioteca Torch7 - Convertir modelos NN en formato iOS.
Pequeña lib a las redes de corch7 de serialise para iOS. Las capas soportadas incluyen capas totalmente conectadas, agrupadas y de convolución en la actualidad. La biblioteca almacena los pesos y sesgos (si los hay) para cada capa necesaria para la inferencia en los dispositivos iOS.
Keras modela con convertidor basado en Python para proporcionar incrustación en la plataforma iOS.
Herramientas para convertir modelos Keras para su uso con otros marcos ML (CorEML, TensorFlow).
Google colaboró con Apple para crear un anuncio de TensorFlow to Coreml Converter.
El soporte para Core ML se proporciona a través de una herramienta que toma un modelo TensorFlow y lo convierte en el formato del modelo ML Core (.mlmodel).
Convertir al modelo de paleta .
X2Paddle es un conjunto de herramientas para convertir el modelo entrenado en paddlepaddle de otros marcos de aprendizaje profundo.
Modelos más detallados: x2paddle/x2paddle_model_zoo.md en el desarrollo · Paddlepaddle/x2paddle