Proyek akan diperbarui terus menerus ......
Permintaan tarik dipersilakan!
Catatan: Ini bukan salah satu konverter untuk semua kerangka kerja, tetapi kumpulan konverter yang berbeda. Karena GitHub adalah platform open source, saya harap kami dapat saling membantu di sini, mengumpulkan kekuatan semua orang.
Karena kerangka kerja yang berbeda ini, konversi luar biasa dari model pembelajaran mendalam untuk kerangka kerja yang berbeda terjadi. Perlu dicatat bahwa saya tidak menguji semua konverter, jadi saya tidak dapat menjamin bahwa masing -masing tersedia. Tapi saya juga berharap koleksi konverter ini dapat membantu Anda!
Lembar di bawah ini adalah gambaran umum dari semua konverter di GitHub (tidak hanya berisi resmi yang disediakan dan lebih banyak implementasi pengguna-pengguna). Saya hanya membuat sedikit pekerjaan untuk mengumpulkan konverter ini. Juga, berharap semua orang dapat mendukung proyek ini untuk membantu lebih banyak orang yang juga gila karena berbagai kerangka kerja.
| Konverter | mxnet | Caffe | Caffe2 | Cntk | theano/lasagna | neon | Pytorch | obor | keras | Darknet | Tensorflow | Chainer | coreml/ios | mendayung | Onnx |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - | Mmdnn mxnet2caffe mxnet2caffe | Mmdnn (melalui onnx) | Mmdnn | Tidak ada | Tidak ada | Mmdnn gluon2pytorch | Tidak ada | Mmdnn | Tidak ada | Mmdnn | Tidak ada | mxnet-to-coreml mmdnn | Tidak ada | Tidak ada |
| Caffe | mxnet/tools/caffe_converter resnet_caffe2mxnet mmdnn | - | Caffetocaffe2 mmdnn (melalui 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 | Tidak ada | Coremlzoo apel/coremltools mmdnn | X2paddle | Caffe2onnx |
| Caffe2 | Tidak ada | Tidak ada | - | Onnx | Tidak ada | Tidak ada | Onnx | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada |
| Cntk | Mmdnn | Mmdnn | Onnx Mmdnn (melalui Onnx) | - | Tidak ada | Tidak ada | ONNX MMDNN | Tidak ada | Mmdnn | Tidak ada | Mmdnn | Tidak ada | Mmdnn | Tidak ada | Tidak ada |
| theano/lasagna | Tidak ada | Tidak ada | Tidak ada | Tidak ada | - | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada |
| neon | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | - | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada |
| Pytorch | Mmdnn | brocolli pytorchtocaffe mmdnn pytorch2caffe pytorch-caffe-darknet-convert | ONNX-CAFFE2 MMDNN (melalui ONNX) | ONNX MMDNN | Tidak ada | Tidak ada | - | Tidak ada | Mmdnn pytorch2keras nn-transfer | Pytorch-Caffe-Darknet-Convert | Mmdnn pytorch2keras (lebih dari keras) pytorch-tf | Tidak ada | Mmdnn onnx-coreml | Tidak ada | Tidak ada |
| obor | Tidak ada | fb-caffe-exts/torch2caffe mocha trans-torch th2caffe | Torch2caffe2 | Tidak ada | Tidak ada | Tidak ada | convert_torch_to_pytorch | - | Tidak ada | Tidak ada | Tidak ada | Tidak ada | torch2coreml torch2ios | Tidak ada | Tidak ada |
| keras | Mmdnn | keras-caffe-converter mmdnn nn_tools keras2caffe | Mmdnn (melalui onnx) | Mmdnn | Tidak ada | Tidak ada | Mmdnn nn-transfer | Tidak ada | - | Tidak ada | nn_tools Convert-to-tensorflow keras_to_tensorflow keras_to_tensorflow mmdnn | Tidak ada | Apple/coremltools model-converters keras_models mmdnn | Tidak ada | Tidak ada |
| Darknet | Tidak ada | Pytorch-Caffe-Darknet-Convert | Tidak ada | Mmdnn | Tidak ada | Tidak ada | Pytorch-Caffe-Darknet-Convert | Tidak ada | Mmdnn | - | Dw2tf darkflow lego_yolo | Tidak ada | Tidak ada | Tidak ada | Tidak ada |
| Tensorflow | Mmdnn | Mmdnn nn_tools | Mmdnn (melalui onnx) | crosstalk mmdnn | Tidak ada | Tidak ada | pytorch-tf mmdnn | Tidak ada | Model-Converters NN_TOOLS Convert-to-TensorFlow MMDNN | Tidak ada | - | Tidak ada | tfcoreml mmdnn | X2paddle | Tidak ada |
| Chainer | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Chainer2PyTorch | Tidak ada | Tidak ada | Tidak ada | Tidak ada | - | Tidak ada | Tidak ada | Tidak ada |
| coreml/ios | Mmdnn | Mmdnn | Mmdnn (melalui onnx) | Mmdnn | Tidak ada | Tidak ada | Mmdnn | Tidak ada | Mmdnn | Tidak ada | Mmdnn | Tidak ada | - | Tidak ada | |
| mendayung | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | - | Tidak ada |
| Onnx | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | onnx2torch onnx2torch | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | Tidak ada | X2paddle | - |
Kerangka Umum untuk Mengubah Antara Semua Jenis Jaringan Saraf
ONNX adalah upaya untuk menyatukan konverter untuk jaringan saraf untuk membawa kewarasan ke dunia NN. Dirilis oleh Facebook dan Microsoft. Info lebih lanjut di sini.
MMDNN adalah seperangkat alat untuk membantu pengguna saling beroperasi di antara berbagai kerangka kerja pembelajaran mendalam. Misalnya konversi model dan visualisasi. Konversi model antara caffeemit, cntk, coreml, keras, mxnet, onnx, pytorch dan tensorflow.

Konversi ke model mxnet .
Beberapa model pembelajaran mendalam dikonversi dari berbagai format ke format COREMLS. Model saat ini tersedia:
Topik utama yang dibahas termasuk yang berikut:
Ini adalah alat untuk mengonversi jaringan-residual yang dalam dari model Caffe ke model MXNET. Bobot secara langsung disalin dari gumpalan jaringan Caffe.
Konversi ke model Caffe .
Ini adalah konverter antara keras dan caffe dalam kedua cara. Ini berfungsi hanya menggunakan model KERAS untuk menghasilkan file CaffeModel dan ProTotxt, tetapi juga dimungkinkan untuk meneruskannya file ProtoTXT dengan deskripsi model jika Anda memilikinya.
Dukungan 1.9.0 atau pytorch yang lebih tinggi
Konversi model pytorch menjadi kafodel.
Konversi model mxnet ke model caffe.
Konversi model mxnet ke model caffe.
Konversi model obor ke/dari model caffe dengan mudah.
Alat ini diuji dengan Caffe 1.0, KERAS 2.1.2 dan TensorFlow 1.4.0
Contoh konversi kerja:
Lapisan Masalah:
Beberapa perpustakaan dan alat utilitas praktis untuk kerangka kerja pembelajaran dalam Caffe, yang memiliki ** perpustakaan untuk mengonversi model obor terlatih pra-terlatih ke model kaffe yang setara. **
Konversi antara model Pytorch, Caffe dan Darknet. Model Caffe Darknet dapat dimuat secara langsung oleh Pytorch.
Menerjemahkan model obor ke kerangka kerja lain seperti caffe, mxnet ...
Konverter Obor-NN ke Caffe untuk lapisan tertentu.
Konvertor Jaringan Saraf untuk Model di antara keras Tensorflow Caffe
Menyediakan alat untuk kerangka kerja jaringan saraf untuk Pytorch dan Caffe.
NN_TOOLS dirilis di bawah lisensi MIT (lihat file lisensi untuk detailnya).
fitur:
persyaratan
Konversi ke model Caffe2 .
Ini adalah konversi resmi, yang tidak hanya provoide skrip juga sebuah notebook ipython seperti di bawah ini:
Konversi Pytorch ke Caffe2 (membuatnya sangat mudah digunakan di perangkat seluler)
Konversi ke model CNTK .
Alat ini akan membantu Anda mengonversi model terlatih dari Caffe ke CNTK.
Konversi model terlatih: Memberikan skrip model dan file bobotnya, ekspor ke model CNTK.
Crosstalk berasal dari CNTK Contrib.
Konversi ke model Theano/Lasagne .
Ini adalah bagian dari proyek untuk CS231N di Stanford University, yang ditulis oleh Ankit Kumar, Matematika Jurusan, Kelas 2015
Ini adalah repositori yang memungkinkan Anda untuk mengubah model caffe pretrain menjadi model di lasagna, pembungkus tipis di sekitar theano. Anda juga dapat mengonversi arsitektur model Caffe menjadi yang setara di lasagna. Anda tidak perlu caffe terpasang untuk menggunakan modul ini.
Saat ini, lapisan caffe berikut didukung:
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
Konversi model dari caffe ke format theano.
Konversi model caffe menjadi model Theano. Ini saat ini bekerja pada Alexnet, tetapi harus bekerja untuk setiap model Caffe yang hanya mencakup lapisan yang telah dikenakan.
Konversi ke model neon .
Alat untuk mengonversi model caffe ke format serialisasi neon.
Repo ini berisi alat untuk mengubah model Caffe menjadi format yang kompatibel dengan perpustakaan Neon Deep Learning. Script utama, "decaffeinate.py", mengambil input file definisi model caffe dan file bobot model yang sesuai dan mengembalikan file model serial neon. File output ini dapat digunakan untuk membuat instantiate objek model neon, yang akan menghasilkan model dalam neon yang harus mereplikasi perilaku model caffe.
Konversi ke model Pytorch .
Konversi grafik mxnet / gluon ke sumber pytorch + bobot.
Konversi resnet yang dilatih dalam model Caffe ke Pytorch.
Konversi model T7 T7 ke model dan sumber Pytorch.
chainer2pytorch mengimplementasikan konversi dari modul Chainer ke modul pytorch, mengatur parameter setiap modul sehingga seseorang dapat port model berdasarkan modul.
Muat Caffe Prototxt dan bobot langsung di Pytorch tanpa secara eksplisit mengonversi model dari Caffe ke Pytorch.
Konversi antara model keras dan pytorch.
Konversi ke model obor .
Konversi bvlc_googlenet.caffemodel menjadi model obor nn.
Ingin menggunakan Googlenet pra-terlatih dari BVLC Model Zoo di Torch? Apakah Anda tidak ingin menggunakan Caffe sebagai ketergantungan tambahan di dalam obor? Gunakan dua skrip ini untuk membangun definisi jaringan dalam obor dan menyalin bobot yang dipelajari dari model Caffe.
Konversi model obor ke/dari model caffe dengan mudah.
Konversi model caffe ke obor nn.Sequential Model.
Konversi ke model keras .
Ini adalah konverter baik antara keras dan caffe. Dibutuhkan bobot dari .caffemodel menggunakan Caffe_weight_Converter dan menghasilkan model Keras yang setara. Ini juga mengeluarkan kode sumber Python yang digunakan untuk menghasilkan model keras itu.
Proyek ini digunakan sebagai bagian dari yang sebelumnya dalam daftar ini: Alexpasqua/keras-caffe-converter, yang lebih lengkap, didokumentasikan, dan mudah digunakan. Saya akan merekomendasikan menggunakan yang itu sebagai gantinya.
Ini adalah konverter berat .caffemodel -to-curas, yaitu mengkonversi file berat badan. Ini juga dapat mengekspor .caffemodel bobot sebagai array numpy untuk pemrosesan lebih lanjut.
Konverter ini mengonversi bobot model saja (bukan definisi model), yang memiliki keuntungan besar yang tidak rusak setiap kali bertemu dengan tipe lapisan yang tidak diketahui seperti konverter lainnya untuk mencoba menerjemahkan definisi model juga. Kelemahannya, tentu saja, adalah Anda harus menulis definisi model sendiri.
Repositori ini juga menyediakan bobot yang dikonversi untuk beberapa model populer.
Catatan: Konverter ini telah diadaptasi dari kode di Marc Bolaños Fork of Caffe. Lihat ACKS untuk Kode Provenance.
Ini dimaksudkan untuk berfungsi sebagai modul konversi untuk model caffe ke model keras.
Tolong, ketahuilah bahwa modul ini tidak dipertahankan secara teratur. Dengan demikian, beberapa lapisan atau definisi parameter yang diperkenalkan dalam versi yang lebih baru dari keras atau caffe mungkin tidak kompatibel dengan konverter. Tarik Permintaan Selamat Datang!
Konvertor Jaringan Saraf untuk Model di antara keras Tensorflow Caffe
Garpu keras dengan beberapa fungsi baru. Caffe2keras Converter, Lapisan Multimodal, dll. Https://github.com/marcbs/keras
Fork of Keras ini menawarkan kontribusi berikut:
Caffe to Keras Konversi Modul Lapisan Pembelajaran Lapisan Khusus Lapisan Baru Untuk Data Multimodal Kontak Email: [email protected]
Halaman GitHub: https://github.com/marcbs
Marcbs/keras kompatibel dengan: Python 2.7 dan Theano saja.
Alat sederhana untuk menerjemahkan model Caffe ke model keras.
Konversi antara model keras dan pytorch.
Konversi model pytorch ke keras.
Konversi ke model darknet .
Konversi antara model Pytorch, Caffe dan Darknet. Model Caffe Darknet dapat dimuat secara langsung oleh Pytorch.
Konversi ke model TensorFlow .
Crosstalk berasal dari CNTK.
Alat untuk mengonversi model keras untuk digunakan dengan kerangka kerja ML lainnya (Coreml, TensorFlow).
Konvertor Jaringan Saraf untuk Model di antara keras Tensorflow Caffe
Konversi model caffe menjadi tensorflow.
Mengubah berbagai model terlatih menjadi file buffer protokol tensorflow beku untuk digunakan dengan C ++ TensorFlow API. Kode C ++ disertakan untuk menggunakan model Frozen.
Terjemahkan Darknet ke TensorFlow. Memuat bobot terlatih, pelatihan ulang/fine-tune menggunakan TensorFlow, ekspor DEF grafik konstan ke perangkat seluler.
Kode TensorFlow untuk melatih Yolo pada dataset baru menggunakan bobot dari darknet
Repositori ini berisi eksperimen pembelajaran transfer menggunakan YOLO pada set data Lego sintetis baru yang kasar dan tidak berdokumen!
Konversi model keras menjadi grafik beku tensorflow untuk digunakan pada ponsel, dll.
Kode Umum untuk Mengubah Model Keras Terlatih Menjadi Model Tensorflow Inferensi.
Mengubah model pytorch pretrained menjadi tensorflow
Konversi model pytorch ke tensorflow (via keras)
Ini adalah konvektor sederhana yang mengubah file darknet bobot (.weights) menjadi file tensorflow bobot (.ckpt).
Tidak ada readme.
Konversi ke model Chainer .
Konversi ke model Coreml .
Konversi model terlatih yang dibuat dengan alat pembelajaran mesin pihak ketiga ke format model ML inti.
Jika model Anda dibuat dan dilatih menggunakan alat pembelajaran mesin pihak ketiga yang didukung, Anda dapat menggunakan alat ML inti untuk mengonversinya ke format model ML inti. Tabel 1 mencantumkan model yang didukung dan alat pihak ketiga.
| Tipe model | Model yang didukung | Alat yang didukung |
|---|---|---|
| Jaringan saraf | Feedforward, konvolusional, berulang | Caffe v1 Keras 1.2.2+ |
| Ansambel pohon | Hutan acak, pohon yang didorong, pohon keputusan | scikit-learn 0.18 XGBoost 0.6 |
| Mendukung mesin vektor | Regresi skalar, klasifikasi multiclass | scikit-learn 0.18 LIBSVM 3.22 |
| Model linier umum | Regresi linier, regresi logistik | scikit-learn 0.18 |
| Teknik fitur | Vektorisasi yang jarang, vektorisasi padat, pemrosesan kategoris | scikit-learn 0.18 |
| Model pipa | Model yang dirantai secara berurutan | scikit-learn 0.18 |
Konversi model MXNET menjadi format Apple Coreml. Alat ini membantu mengubah model MXNET menjadi format Apple Coreml yang kemudian dapat dijalankan pada perangkat Apple.
Alat ini membantu mengonversi model Torch7 menjadi format Apple Coreml yang kemudian dapat dijalankan pada perangkat Apple.
Torch7 Library - Konversi model NN ke format iOS.
Lib kecil untuk membuat serial Torch7 jaringan untuk iOS. Lapisan yang didukung termasuk lapisan yang terhubung sepenuhnya, pengumpulan dan konvolusi saat ini. Perpustakaan menyimpan bobot & bias (jika ada) untuk setiap lapisan yang diperlukan untuk inferensi pada perangkat iOS.
Model Keras dengan konverter berbasis Python untuk menyediakan embedding di platform iOS.
Alat untuk mengonversi model keras untuk digunakan dengan kerangka kerja ML lainnya (Coreml, TensorFlow).
Google berkolaborasi dengan Apple untuk membuat pengumuman TensorFlow ke Coreml Converter.
Dukungan untuk ML inti disediakan melalui alat yang mengambil model TensorFlow dan mengubahnya menjadi format model ML inti (.mlmodel).
Konversi ke model dayung .
X2Paddle adalah toolkit untuk mengonversi model terlatih menjadi paddlepaddle dari kerangka pembelajaran mendalam lainnya.
Model yang lebih terperinci: x2paddle/x2paddle_model_zoo.md at Develop · PaddlePaddle/x2paddle