O projeto será atualizado continuamente ......
Os pedidos de puxão são bem -vindos!
Nota: Este não é um conversor para todas as estruturas, mas uma coleção de conversores diferentes. Como o Github é uma plataforma de código aberto, espero que possamos ajudar aqui, reunir a força de todos.
Devido a essas diferentes estruturas, ocorrem os incríveis conversores de modelos de aprendizado profundo para diferentes estruturas. Deve -se notar que eu não testei todos os conversores, então não pude garantir que cada um estava disponível. Mas também espero que esta coleção de conversores possa ajudá -lo!
A folha abaixo é uma visão geral de todos os conversores no GitHub (não apenas contêm o oficial fornecido e mais são implementações de usuário). Eu apenas faço um pouco de trabalho para coletar esses conversores. Além disso, espero que todos possam apoiar este projeto para ajudar mais pessoas que também são loucas por causa de várias estruturas.
| conversor | mxnet | Caffe | Caffe2 | Cntk | Theano/lasanha | néon | Pytorch | tocha | Keras | Darknet | tensorflow | Chainner | Coreml/iOS | Raddle | ONNX |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - | Mmdnn mxnet2caffe mxnet2caffe | Mmdnn (através de Onnx) | Mmdnn | Nenhum | Nenhum | Mmdnn gluon2pytorch | Nenhum | Mmdnn | Nenhum | Mmdnn | Nenhum | mxnet para coreml mmdnn | Nenhum | Nenhum |
| Caffe | mxnet/ferramentas/cafe_converter resnet_caffe2mxnet mmdnn | - | Caffetocaffe2 mmdnn (através de Onnx) | Crosstalkcaffe/CaffeConverter mmdnn | CAFFE_THEANO_CONVERSION CAFFE-MODEL-CONVERT CAFFE-THEANO | Caffe2neon | Mmdnn pytorch-caffe pytorch-resnet | GoogleNet-Caffe2torch Mocha LoadCaffe | keras-cafe-converter Caffe_weight_converter Caffe2keras nn_tools keras cafe2keras Deep_learning_model_converter mmdnn | Pytorch-Caffe-Darknet-Convert | Mmdnn nn_tools cafe-tensorflow | Nenhum | Coremlzoo Apple/Coremltools mmdnn | X2paddle | Caffe2onnx |
| Caffe2 | Nenhum | Nenhum | - | ONNX | Nenhum | Nenhum | ONNX | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum |
| Cntk | Mmdnn | Mmdnn | Onnx mmdnn (através de Onnx) | - | Nenhum | Nenhum | Onnx mmdnn | Nenhum | Mmdnn | Nenhum | Mmdnn | Nenhum | Mmdnn | Nenhum | Nenhum |
| Theano/lasanha | Nenhum | Nenhum | Nenhum | Nenhum | - | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum |
| néon | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | - | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum |
| Pytorch | Mmdnn | brocolli pytorchtocaffe mmdnn pytorch2caffe pytorch-caffe-darknet-contcilvert | Onnx-Caffe2 mmdnn (através de Onnx) | Onnx mmdnn | Nenhum | Nenhum | - | Nenhum | Mmdnn pytorch2keras nn-transfer | Pytorch-Caffe-Darknet-Convert | Mmdnn pytorch2keras (sobre Keras) pytorch-tf | Nenhum | Mmdnn onnx-coreml | Nenhum | Nenhum |
| tocha | Nenhum | FB-CAFFE-EXTS/TORCH2CAFFE Mocha Trans-Torch Th2Caffe | Torch2caffe2 | Nenhum | Nenhum | Nenhum | convert_torch_to_pytorch | - | Nenhum | Nenhum | Nenhum | Nenhum | Torch2Coreml Torch2ios | Nenhum | Nenhum |
| Keras | Mmdnn | Keras-Caffe-Converter mmdnn nn_tools keras2caffe | Mmdnn (através de Onnx) | Mmdnn | Nenhum | Nenhum | Mmdnn Nn-Transfer | Nenhum | - | Nenhum | nn_tools converte para tensorflow keras_to_tensorflow keras_to_tensorflow mmdnn | Nenhum | Apple/CoremlTools Model-Converters Keras_models mmdnn | Nenhum | Nenhum |
| Darknet | Nenhum | Pytorch-Caffe-Darknet-Convert | Nenhum | Mmdnn | Nenhum | Nenhum | Pytorch-Caffe-Darknet-Convert | Nenhum | Mmdnn | - | DW2TF Darkflow Lego_yolo | Nenhum | Nenhum | Nenhum | Nenhum |
| tensorflow | Mmdnn | Mmdnn nn_tools | Mmdnn (através de Onnx) | Crosstalk mmdnn | Nenhum | Nenhum | pytorch-tf mmdnn | Nenhum | Model-Converters nn_tools converte-para-tensorflow mmdnn | Nenhum | - | Nenhum | tfcoreml mmdnn | X2paddle | Nenhum |
| Chainner | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Chainner2Pytorch | Nenhum | Nenhum | Nenhum | Nenhum | - | Nenhum | Nenhum | Nenhum |
| Coreml/iOS | Mmdnn | Mmdnn | Mmdnn (através de Onnx) | Mmdnn | Nenhum | Nenhum | Mmdnn | Nenhum | Mmdnn | Nenhum | Mmdnn | Nenhum | - | Nenhum | |
| Raddle | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | - | Nenhum |
| ONNX | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | onnx2torch onNx2torch | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | Nenhum | X2paddle | - |
Estrutura geral para converter entre todos os tipos de redes neurais
O ONNX é um esforço para unificar conversores para redes neurais, a fim de levar alguma sanidade ao mundo da NN. Lançado pelo Facebook e Microsoft. Mais informações aqui.
O MMDNN é um conjunto de ferramentas para ajudar os usuários a interoar entre diferentes estruturas de aprendizado profundo. Por exemplo, conversão e visualização do modelo. Converter modelos entre cafeeMit, cNTK, coreml, keras, mxnet, ONNX, pytorch e tensorflow.

Converta em modelo MXNET .
Alguns modelos de aprendizado profundo convertidos de vários formatos em formato Coremls. Modelos atualmente disponíveis:
Os principais tópicos abordados incluem o seguinte:
Esta é uma ferramenta para converter as redes residuais profundas do modelo Caffe para o modelo MXNET. Os pesos são copiados diretamente das bolhas de rede de Caffe.
Converter para o modelo Caffe .
É um conversor entre Keras e Caffe nos dois lados. Ele funciona usando apenas o modelo Keras para gerar os arquivos Caffemodel e Prototxt, mas também é possível passar o arquivo Prototxt com a descrição do modelo, se você o tiver.
Suporte 1.9.0 ou superior pytorch
Converta o modelo Pytorch em Caffemodel.
Converta o modelo MXNET em modelo Caffe.
Converta o modelo MXNET em modelo Caffe.
Converta o modelo da tocha para/do modelo Caffe facilmente.
Esta ferramenta testada com Caffe 1.0, Keras 2.1.2 e Tensorflow 1.4.0
Exemplos de conversão de trabalho:
Camadas de problemas:
Algumas bibliotecas e ferramentas úteis para a estrutura de aprendizado profundo da Caffe, que possui ** uma biblioteca para converter modelos de tocha pré-treinados para os modelos equivalentes de cafe. **
Converta entre os modelos Pytorch, Caffe e Darknet. Os modelos Caffe Darknet podem ser carregados diretamente por Pytorch.
Traduzindo o modelo da tocha para outra estrutura, como cafe, mxnet ...
Um conversor Torch-NN para Caffe para camadas específicas.
um conversor de rede neural para modelos entre as keras de tensorflow Caffe
Fornecendo uma ferramenta para estruturas de rede neural para Pytorch e Caffe.
O NN_tools é liberado sob a licença do MIT (consulte o arquivo de licença para obter detalhes).
características:
requisitos
Converter para o modelo Caffe2 .
Este é um conversor oficial, que não apenas provo um script também um notebook Ipython como abaixo:
Converta Pytorch em Caffe2 (facilitando a implantação especialmente em dispositivos móveis)
Converter para o modelo CNTK .
A ferramenta ajudará você a converter modelos treinados de Caffe em CNTK.
Converter modelos treinados: fornecendo um arquivo de script e seu arquivo de pesos, exporte para o modelo CNTK.
Crosstalk é do CNTK Contrib.
Converter para o modelo de Theano/lasanha .
Isso faz parte de um projeto para CS231N na Universidade de Stanford, escrito por Ankit Kumar, Major de Matemática, classe de 2015
Este é um repositório que permite que você converta modelos de Caffe pré -treinados em modelos em lasanha, um invólucro fino em torno de Theano. Você também pode converter a arquitetura de um modelo de Caffe em uma equivalente em lasanha. Você não precisa de Caffe instalado para usar este módulo.
Atualmente, as seguintes camadas de Caffe são suportadas:
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
Converta modelos do formato Caffe em Theano.
Converta um modelo Caffe em um modelo Theano. Atualmente, isso funciona no Alexnet, mas deve funcionar para qualquer modelo de caffe que inclua apenas camadas que foram destacadas.
Converter para o modelo de neon .
Ferramentas para converter os modelos Caffe no formato de serialização do Neon.
Este repositório contém ferramentas para converter modelos de Caffe em um formato compatível com a Biblioteca de Aprendizagem Deep Neon Deep. O script principal, "decaffeinate.py", toma como entrada um arquivo de definição de modelo CAFFE e o modelo de peso do modelo correspondente e retorna um arquivo de modelo serializado de neon. Este arquivo de saída pode ser usado para instanciar o objeto de modelo neon, que gerará um modelo no neon que deve replicar o comportamento do modelo Caffe.
Converta em modelo Pytorch .
Converta o gráfico MxNet / Gluon em Pesos + Pesos Pytorch.
Converta a resnet treinada em modelo de cafe para pytorch.
Converta o modelo T7 T7 em modelo e fonte de pytorch.
chainer2pytorch implementa conversões de módulos de cadeia para módulos de pytorch, definindo parâmetros de cada módulos, de modo que se possa portar os modelos em base no módulo.
Carregue o CAFFE Prototxt e os pesos diretamente em pytorch sem converter explicitamente o modelo de cafe para pytorch.
Converta entre os modelos Keras e Pytorch.
Converter para o modelo da tocha .
Converte bvlc_googlenet.caffemodel em um modelo de tocha NN.
Deseja usar o googlenet pré-treinado do zoológico do modelo BVLC na tocha? Você não quer usar o Caffe como uma dependência adicional dentro da tocha? Use esses dois scripts para criar a definição de rede na tocha e copie os pesos aprendidos com o modelo Caffe.
Converta o modelo da tocha para/do modelo Caffe facilmente.
Converta o modelo Caffe em um modelo de tocha.
Converter para o modelo Keras .
É um conversor de ambos os caminhos entre Keras e Caffe. Ele pega os pesos do .caffemodel usando Caffe_Weight_Converter e gera um modelo Keras equivalente. Ele também gera o código -fonte do Python usado para gerar esse modelo Keras.
Este projeto é usado como parte do anterior nesta lista: Alexpasqua/Keras-Caffe Converter, que é mais completo, documentado e fácil de usar. Eu recomendo usar esse em vez disso.
Este é um conversor de peso cafe-to-lines, ou seja, converte arquivos de peso .caffemodel em arquivos de peso HDF5 compatíveis com Keras-2. Também pode exportar pesos .caffemodel como matrizes numpy para processamento adicional.
Esse conversor converte apenas os pesos de um modelo (não a definição do modelo), que tem a grande vantagem de não quebrar toda vez que encontra um tipo de camada desconhecido, como outros conversores, para tentar traduzir também a definição do modelo. A desvantagem, é claro, é que você terá que escrever a definição do modelo.
O repositório também fornece pesos convertidos para alguns modelos populares.
NOTA: Este conversor foi adaptado do código em Marc Bolaños Fork of Caffe. Consulte ACKs para proveniência de código.
Destina -se a servir como um módulo de conversão para modelos de Caffe para modelos Keras.
Por favor, esteja ciente de que este módulo não é mantido regularmente. Assim, algumas definições de camadas ou parâmetros introduzidas em versões mais recentes de Keras ou Caffe podem não ser compatíveis com o conversor. Pull Pedidos bem -vindos!
um conversor de rede neural para modelos entre as keras de tensorflow Caffe
Keras 'Fork com várias novas funcionalidades. Conversor Caffe2keras, camadas multimodais, etc. https://github.com/marcbs/keras
Este garfo de Keras oferece as seguintes contribuições:
CAFFE para Keras Módulo de conversão Camada Específica Taxas de aprendizado Novas camadas para dados multimodais Email: [email protected]
Página do Github: https://github.com/marcbs
Marcbs/Keras é compatível com: Python 2.7 e Theano.
Uma ferramenta simples para traduzir o modelo Caffe para o modelo Keras.
Converta entre os modelos Keras e Pytorch.
Converta modelos Pytorch em Keras.
Converter para o modelo DarkNet .
Converta entre os modelos Pytorch, Caffe e Darknet. Os modelos Caffe Darknet podem ser carregados diretamente por Pytorch.
Converta para o modelo TensorFlow .
Crosstalk é do CNTK.
Ferramentas para converter modelos Keras para uso com outras estruturas de ML (Coreml, Tensorflow).
um conversor de rede neural para modelos entre as keras de tensorflow Caffe
Converta os modelos Caffe em TensorFlow.
Converte uma variedade de modelos treinados em um arquivo buffer de protocolo de tensorflow congelado para uso com a API do tensorflow C ++. O código C ++ está incluído para o uso dos modelos congelados.
Traduza o DarkNet para o TensorFlow. Carregar pesos treinados, treina/ajuste fino usando tensorflow, exporte o gráfico constante para dispositivos móveis.
Código Tensorflow para treinar YOLO em um novo conjunto de dados usando pesos da DarkNet
Este repositório contém experimentos de aprendizado de transferência usando o YOLO em um novo conjunto de dados sintéticos da LEGO e sem documentos!
Converta os modelos Keras em gráfico congelado do TensorFlow para uso em telefones celulares, etc.
Código geral para converter um modelo de Keras treinado em um modelo de tensorflow de inferência.
Convertendo um modelo de pytorch pré -teneiro em tensorflow
Converter modelos Pytorch em TensorFlow (via Keras)
Este é um convector simples que converte o arquivo de pesos do DarkNet (. Pesos) em arquivo de pesos do tensorflow (.ckpt).
Sem leitura.
Converta em modelo de corrente .
Converter para o modelo coreml .
Converter modelos treinados criados com ferramentas de aprendizado de máquina de terceiros no formato do modelo ML.
Se o seu modelo for criado e treinado usando uma ferramenta de aprendizado de máquina de terceiros suportada, você poderá usar as ferramentas principais ML para convertê-lo no formato do modelo ML principal. A Tabela 1 lista os modelos suportados e ferramentas de terceiros.
| Tipo de modelo | Modelos suportados | Ferramentas suportadas |
|---|---|---|
| Redes neurais | Feedforward, convolucional, recorrente | Caffe v1 Keras 1.2.2+ |
| Conjuntos de árvores | Florestas aleatórias, árvores aumentadas, árvores de decisão | Scikit-Learn 0,18 Xgboost 0,6 |
| Máquinas vetoriais de suporte | Regressão escalar, classificação multiclasse | Scikit-Learn 0,18 LIBSVM 3.22 |
| Modelos lineares generalizados | Regressão linear, regressão logística | Scikit-Learn 0,18 |
| Engenharia de recursos | Vectorização esparsa, vetorização densa, processamento categórico | Scikit-Learn 0,18 |
| Modelos de pipeline | Modelos acorrentados sequencialmente | Scikit-Learn 0,18 |
Converta os modelos MXNET em formato Apple Coreml. Essa ferramenta ajuda a converter os modelos MXNET em formato Apple Coreml, que pode ser executado em dispositivos Apple.
Essa ferramenta ajuda a converter modelos TORCH7 em formato Apple Coreml, que pode ser executado em dispositivos Apple.
Biblioteca Torch7 - Converta os modelos NN em formato iOS.
Pequena lib para serializar redes Torch7 para iOS. As camadas suportadas incluem camadas totalmente conectadas, agrupadas e de convolução no momento. A biblioteca armazena os pesos e vieses (se houver) para cada camada necessária para inferência nos dispositivos iOS.
Modelos Keras com conversor baseado em Python para fornecer incorporação na plataforma iOS.
Ferramentas para converter modelos Keras para uso com outras estruturas de ML (Coreml, Tensorflow).
O Google colaborou com a Apple para criar um anúncio de conversor TensorFlow para coreml.
O suporte ao ML do núcleo é fornecido através de uma ferramenta que pega um modelo de tensorflow e o converte no formato do modelo ML do núcleo (.mlmodel).
Converta em modelo de paddle .
O X2Paddle é um kit de ferramentas para converter o modelo treinado em paddlepaddle de outras estruturas de aprendizado profundo.
Modelos mais detalhados: x2paddle/x2paddle_model_zoo.md em desenvolver · paddlepaddle/x2paddle