/deep-learning-model-convertor

The convertor/conversion of deep learning models for different deep learning frameworks/softwares.

The project will be updated continuously ......  

Pull requests are welcome!

Note: This is not one convertor for all frameworks, but a collection of different converters. Because github is an open source platform, I hope we can help each other here, gather everyone's strength.

Because of these different frameworks, the awesome convertors of deep learning models for different frameworks occur. It should be noted that I did not test all the converters, so I could not guarantee that each was available. But I also hope this convertor collection may help you!

The sheet below is a overview of all convertors in github (not only contain official provided and more are user-self implementations). I just make a little work to collect these convertors. Also, hope everyone can support this project to help more people who're also crazy because of various frameworks.

convertor mxnet caffe ✨ theano/lasagne neon pytorch torch ✨ keras ✨ darknet tensorflow ✨ chainer
mxnet - MXNet2Caffe Mxnet2Caffe None None None None None None None None
caffe mxnet/tools/caffe_converter ResNet_caffe2mxnet - caffe_theano_conversion caffe-model-convert caffe-to-theano caffe2neon pytorch-caffe-darknet-convert googlenet-caffe2torch mocha caffe2keras nn_tools caffe2keras keras caffe2keras Deep_Learning_Model_Converter pytorch-caffe-darknet-convert nn_tools caffe-tensorflow None
theano/lasagne None None   -   None None None None None None None
neon None None None - None None None None None None
pytorch None pytorch-resnet pytorch-caffe-darknet-convert None None - None None pytorch-caffe-darknet-convert None None
torch None fb-caffe-exts/torch2caffe mocha trans-torch th2caffe None None convert_torch_to_pytorch - None None None None
keras None nn_tools None None None None - None nn_tools convert-to-tensorflow keras_to_tensorflow keras_to_tensorflow None
darknet None pytorch-caffe-darknet-convert None None pytorch-caffe-darknet-convert None None   -   darkflow lego_yolo None
tensorflow None nn_tools None pytorch-tf None None nn_tools convert-to-tensorflow None - None
chainer None None None None chainer2pytorch None None None None -

Brief Intro. of Convertors

MXNet convertor

Convert to MXNet model.

Key topics covered include the following:

This is a tool to convert the deep-residual-networks from caffe model to mxnet model. The weights are directly copied from caffe network blobs.

Caffe convertor

Convert to Caffe model.

Convert MXNet model to Caffe model.

Convert MXNet model to Caffe model.

Convert torch model to/from caffe model easily.

Some handy utility libraries and tools for the Caffe deep learning framework, which has ** A library for converting pre-trained Torch models to the equivalent Caffe models.**

Convert between pytorch, caffe and darknet models. Caffe darknet models can be load directly by pytorch.

Translating Torch model to other framework such as Caffe, MxNet ...

A torch-nn to caffe converter for specific layers.

a neural network convertor for models among caffe tensorfloe keras

Theano/Lasagne convertor

Convert to Theano/Lasagne model.

This is part of a project for CS231N at Stanford University, written by Ankit Kumar, Mathematics major, Class of 2015

This is a repository that allows you to convert pretrained caffe models into models in Lasagne, a thin wrapper around Theano. You can also convert a caffe model's architecture to an equivalent one in Lasagne. You do not need caffe installed to use this module.

Currently, the following caffe layers are supported:

* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax

Convert models from Caffe to Theano format.

Convert a Caffe Model to a Theano Model. This currently works on AlexNet, but should work for any Caffe model that only includes layers that have been impemented.

Neon convertor  

Convert to Neon model.

Tools to convert Caffe models to neon's serialization format.

This repo contains tools to convert Caffe models into a format compatible with the neon deep learning library. The main script, "decaffeinate.py", takes as input a caffe model definition file and the corresponding model weights file and returns a neon serialized model file. This output file can be used to instantiate the neon Model object, which will generate a model in neon that should replicate the behavior of the Caffe model.

PyTorch convertor  

Convert to PyTorch model.

Convert resnet trained in caffe to pytorch model.

Convert torch t7 model to pytorch model and source.

chainer2pytorch implements conversions from Chainer modules to PyTorch modules, setting parameters of each modules such that one can port over models on a module basis.

Convert between pytorch, caffe and darknet models. Caffe darknet models can be load directly by pytorch.

Torch convertor  

Convert to Torch model.

Converts bvlc_googlenet.caffemodel to a Torch nn model.

Want to use the pre-trained GoogLeNet from the BVLC Model Zoo in Torch? Do you not want to use Caffe as an additional dependency inside Torch? Use these two scripts to build the network definition in Torch and copy the learned weights from the Caffe model.

Convert torch model to/from caffe model easily.

Keras convertor  

Convert to Keras model.

Note: This converter has been adapted from code in Marc Bolaños fork of Caffe. See acks for code provenance.

This is intended to serve as a conversion module for Caffe models to Keras models.

Please, be aware that this module is not regularly maintained. Thus, some layers or parameter definitions introduced in newer versions of either Keras or Caffe might not be compatible with the converter. Pull requests welcome!

a neural network convertor for models among caffe tensorfloe keras

Caffe to Keras converter, From https://github.com/MarcBS/keras. This is intended to serve as a conversion module for Caffe models to Keras Functional API models.

Keras' fork with several new functionalities. Caffe2Keras converter, multimodal layers, etc. https://github.com/MarcBS/keras

This fork of Keras offers the following contributions:

Caffe to Keras conversion module Layer-specific learning rates New layers for multimodal data Contact email: marc.bolanos@ub.edu

GitHub page: https://github.com/MarcBS

MarcBS/keras is compatible with: Python 2.7 and Theano only.

a simple tool to translate caffe model to keras model.

Darknet convertor  

Convert to Darknet model.

Convert between pytorch, caffe and darknet models. Caffe darknet models can be load directly by pytorch.

TensorFlow convertor  

Convert to TensorFlow model.

a neural network convertor for models among caffe tensorfloe keras

Convert Caffe models to TensorFlow.

Converts a variety of trained models to a frozen tensorflow protocol buffer file for use with the c++ tensorflow api. C++ code is included for using the frozen models.

Translate darknet to tensorflow. Load trained weights, retrain/fine-tune using tensorflow, export constant graph def to mobile devices.

Tensorflow code to to retrain yolo on a new dataset using weights from darknet

This repository contains experiments of transfer learning using YOLO on a new synthetical LEGO data set ROUGH AND UNDOCUMENTED!

Convert keras models to tensorflow frozen graph for use on cell phones, etc.

General code to convert a trained keras model into an inference tensorflow model.

Converting a pretrained pytorch model to tensorflow

Chainer convertor  

Convert to Chainer model.