سيتم تحديث المشروع بشكل مستمر ......
طلبات السحب موضع ترحيب!
ملاحظة: هذا ليس محولًا واحدًا لجميع الأطر ، ولكن مجموعة من المحولات المختلفة. نظرًا لأن Github منصة مفتوحة المصدر ، آمل أن نتمكن من مساعدة بعضنا البعض هنا ، وجمع قوة الجميع.
بسبب هذه الأطر المختلفة ، تحدث المحولون الرائعون لنماذج التعلم العميق لأطر مختلفة. تجدر الإشارة إلى أنني لم أختبر جميع المحولات ، لذلك لم أتمكن من ضمان توفر كل منها. لكنني آمل أيضًا أن تساعدك مجموعة المحول هذه!
الورقة أدناه هي لمحة عامة عن جميع المحولات في GitHub (لا تحتوي فقط على الرسوم المقدمة والمزيد من تطبيقات المستخدم الذاتية). أنا فقط أجعل القليل من العمل لجمع هذه المحولات. أيضا ، آمل أن يتمكن الجميع من دعم هذا المشروع لمساعدة المزيد من الأشخاص الذين يجنون أيضًا بسبب الأطر المختلفة.
| المحول | mxnet | الكافيين | Caffe2 | CNTK | ثيانو/لازانيا | نيون | Pytorch | الشعلة | كيراس | Darknet | Tensorflow | سلسلة | coreml/iOS | مجداف | onnx |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| mxnet | - | mmdnn mxnet2caffe mxnet2caffe | MMDNN (من خلال ONNX) | MMDNN | لا أحد | لا أحد | mmdnn gluon2pytorch | لا أحد | MMDNN | لا أحد | MMDNN | لا أحد | mxnet to-coreml mmdnn | لا أحد | لا أحد |
| الكافيين | Mxnet/Tools/Caffe_Converter resnet_caffe2mxnet mmdnn | - | caffetocaffe2 mmdnn (من خلال onnx) | crosstalkcaffe/caffeconverter mmdnn | caffe_theano_conversion caffe-model-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 mmdnnn | pytorch-caffe-darknet-convert | mmdnn nn_tools caffe-tensorflow | لا أحد | coremlzoo Apple/coremltools mmdnn | x2paddle | caffe2onnx |
| Caffe2 | لا أحد | لا أحد | - | onnx | لا أحد | لا أحد | onnx | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد |
| CNTK | MMDNN | MMDNN | onnx mmdnn (من خلال onnx) | - | لا أحد | لا أحد | onnx mmdnn | لا أحد | MMDNN | لا أحد | MMDNN | لا أحد | MMDNN | لا أحد | لا أحد |
| ثيانو/لازانيا | لا أحد | لا أحد | لا أحد | لا أحد | - | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد |
| نيون | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | - | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد |
| Pytorch | MMDNN | Brocolli pytorchtocaffe mmdnn pytorch2caffe pytorch-caffe-darknet-convert | onnx-caffe2 mmdnn (من خلال onnx) | onnx mmdnn | لا أحد | لا أحد | - | لا أحد | mmdnn pytorch2keras nn-transfer | pytorch-caffe-darknet-convert | mmdnn pytorch2keras (فوق keras) pytorch-tf | لا أحد | MMDNN ONNX-COREML | لا أحد | لا أحد |
| الشعلة | لا أحد | FB-Caffe-Exts/Torch2Caffe Mocha Trans-Torch Th2Caffe | Torch2Caffe2 | لا أحد | لا أحد | لا أحد | convert_torch_to_pytorch | - | لا أحد | لا أحد | لا أحد | لا أحد | torch2coreml torch2ios | لا أحد | لا أحد |
| كيراس | MMDNN | keras-caffe-converter mmdnn nn_tools keras2caffe | MMDNN (من خلال ONNX) | MMDNN | لا أحد | لا أحد | Mmdnn nn transfer | لا أحد | - | لا أحد | nn_tools تحويل إلى tensorflow keras_to_tensorflow keras_to_tensorflow mmdnn | لا أحد | Apple/Coremltools Model-Converters Keras_Models Mmdnn | لا أحد | لا أحد |
| Darknet | لا أحد | pytorch-caffe-darknet-convert | لا أحد | MMDNN | لا أحد | لا أحد | pytorch-caffe-darknet-convert | لا أحد | MMDNN | - | DW2TF Darkflow LEGO_YOLO | لا أحد | لا أحد | لا أحد | لا أحد |
| Tensorflow | MMDNN | mmdnn nn_tools | MMDNN (من خلال ONNX) | Crosstalk Mmdnn | لا أحد | لا أحد | Pytorch-TF MMDNN | لا أحد | النماذج النموذجية nn_tools تحويل إلى tensorflow mmdnn | لا أحد | - | لا أحد | tfcoreml mmdnn | x2paddle | لا أحد |
| سلسلة | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | Chainer2Pytorch | لا أحد | لا أحد | لا أحد | لا أحد | - | لا أحد | لا أحد | لا أحد |
| coreml/iOS | MMDNN | MMDNN | MMDNN (من خلال ONNX) | MMDNN | لا أحد | لا أحد | MMDNN | لا أحد | MMDNN | لا أحد | MMDNN | لا أحد | - | لا أحد | |
| مجداف | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | - | لا أحد |
| onnx | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | onnx2torch onnx2torch | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | لا أحد | x2paddle | - |
إطار عام للتحويل بين جميع أنواع الشبكات العصبية
ONNX هي محاولة لتوحيد المحولات للشبكات العصبية من أجل جلب بعض العقل إلى عالم NN. أصدره Facebook و Microsoft. مزيد من المعلومات هنا.
MMDNN هي مجموعة من الأدوات لمساعدة المستخدمين على الانتهاء من أطر العمل العميق المختلفة. على سبيل المثال تحويل النموذج والتصور. تحويل النماذج بين Caffeemit و CNTK و Coreml و Keras و Mxnet و Onnx و Pytorch و TensorFlow.

تحويل نموذج MXNET .
تم تحويل بعض نماذج التعلم العميق من تنسيقات مختلفة إلى تنسيق Coremls. النماذج المتاحة حاليا:
تشمل الموضوعات الرئيسية المغطاة ما يلي:
هذه أداة لتحويل شبكات الشبكات العميقة من نموذج CAFFE إلى نموذج MXNET. يتم نسخ الأوزان مباشرة من نقاط شبكة الكافيين.
تحويل نموذج الكافيين .
إنه محول بين Keras و Caffe في كلا الاتجاهين. إنه يعمل باستخدام نموذج KERAS فقط لإنشاء كل من ملفات caffemodel و prototxt ، ولكن من الممكن أيضًا تمرير ملف prototxt مع وصف النموذج إذا كان لديك.
دعم 1.9.0 أو أعلى pytorch
تحويل نموذج Pytorch إلى caffemodel.
تحويل نموذج MXNET إلى نموذج الكافيين.
تحويل نموذج MXNET إلى نموذج الكافيين.
تحويل نموذج الشعلة إلى/من نموذج الكافيين بسهولة.
تم اختبار هذه الأداة باستخدام Caffe 1.0 و Keras 2.1.2 و TensorFlow 1.4.0
أمثلة تحويل العمل:
طبقات المشكلة:
بعض المكتبات والأدوات المفيدة لإطار عمل التعلم العميق في الكافيين ، والذي يحتوي على ** مكتبة لتحويل نماذج الشعلة مسبقًا إلى نماذج الكافيين المكافئة. **
تحويل بين Pytorch و Caffe و Darknet نماذج. يمكن تحميل نماذج Caffe Darknet مباشرة بواسطة Pytorch.
ترجمة نموذج الشعلة إلى إطار عمل آخر مثل Caffe و Mxnet ...
Torch-NN إلى محول الكافيين لطبقات محددة.
محول الشبكة العصبية للنماذج بين كيراس TensorFlow Caffe
توفير أداة لأطر الشبكة العصبية لـ Pytorch و Caffe.
يتم إصدار NN_Tools ضمن ترخيص معهد ماساتشوستس للتكنولوجيا (راجع ملف الترخيص للحصول على التفاصيل).
سمات:
متطلبات
تحويل نموذج CAFFE2 .
هذا محول رسمي ، لا يطرح البرنامج النصي أيضًا على دفتر Ipython على النحو التالي:
تحويل Pytorch إلى Caffe2 (مما يجعل من السهل نشرها على الأجهزة المحمولة)
تحويل إلى طراز CNTK .
ستساعدك الأداة على تحويل النماذج المدربة من CAFFE إلى CNTK.
تحويل النماذج المدربة: إعطاء برنامج نصي النموذج وملف الأوزان الخاص به ، تصدير إلى نموذج CNTK.
الحديث المتبادل هو من CNTK Contrib.
تحويل إلى نموذج Theano/Lasagne .
هذا جزء من مشروع لـ CS231N في جامعة ستانفورد ، كتبه Ankit Kumar ، Mathematics Major ، فئة 2015
هذا مستودع يتيح لك تحويل نماذج الكافيين المسبقة إلى نماذج في اللازانيا ، غلاف رفيع حول ثيانو. يمكنك أيضًا تحويل بنية طراز الكافيين إلى واحدة مكافئة في اللازانيا. لا تحتاج إلى تثبيت Caffe لاستخدام هذه الوحدة.
حاليًا ، يتم دعم طبقات الكافيين التالية:
* Convolution
* LRN
* Pooling
* Inner Product
* Relu
* Softmax
تحويل النماذج من الكافيين إلى تنسيق ثيانو.
تحويل نموذج الكافيين إلى نموذج ثيانو. يعمل هذا حاليًا على Alexnet ، ولكن يجب أن يعمل مع أي نموذج CAFFE الذي يتضمن فقط طبقات كانت ثقيلة.
تحويل نموذج النيون .
أدوات لتحويل نماذج CAFFE إلى تنسيق تسلسل النيون.
يحتوي هذا الريبو على أدوات لتحويل نماذج Caffe إلى تنسيق متوافق مع مكتبة التعلم العميق النيون. يأخذ البرنامج النصي الرئيسي ، "defeafeinate.py" ، إدخال ملف تعريف نموذج CAFFE وملف أوزان النموذج المقابل وإرجاع ملف النموذج المسلسل النيون. يمكن استخدام ملف الإخراج هذا لتشكيل كائن نموذج النيون ، والذي سيولد نموذجًا في النيون الذي يجب أن يكرر سلوك نموذج CAFFE.
تحويل إلى نموذج Pytorch .
تحويل الرسم البياني MXNET / GLUON إلى Pytorch Source + Oinis.
تحويل RESNET المدربين في الكافيين إلى طراز Pytorch.
تحويل نموذج Torch T7 إلى نموذج ومصدر Pytorch.
يقوم chainer2pytorch بتنفيذ تحويلات من وحدات Chainer إلى وحدات Pytorch ، مما يضع معلمات لكل وحدات بحيث يمكن للمرء أن تنقلها على النماذج على أساس الوحدة النمطية.
تحميل prototxt caffe والأوزان مباشرة في pytorch دون تحويل النموذج بشكل صريح من الكافيين إلى pytorch.
تحويل بين نماذج Keras و Pytorch.
تحويل نموذج الشعلة .
يحول BVLC_GOOGLENET.CAFFEMODEL إلى نموذج Torch NN.
هل تريد استخدام Googlenet المدربة مسبقًا من حديقة حيوان BVLC Model في Torch؟ هل لا ترغب في استخدام الكافيين كاعتماد إضافي داخل الشعلة؟ استخدم هاتين البرامج النصية لإنشاء تعريف الشبكة في الشعلة ونسخ الأوزان المستفادة من نموذج الكافيين.
تحويل نموذج الشعلة إلى/من نموذج الكافيين بسهولة.
تحويل نموذج CAFFE إلى نموذج torch nn.sequential.
تحويل نموذج Keras .
إنه محول في كل من Keras و Caffe. يستغرق الأوزان من .caffemodel باستخدام Caffe_Weight_Converter ويولد نموذج Keras مكافئ. كما أنه يخرج رمز مصدر بيثون المستخدم لإنشاء نموذج Keras.
يتم استخدام هذا المشروع كجزء من المشروع السابق في هذه القائمة: Alexpasqua/Keras-Caffe-Converter ، وهو أكثر اكتمالًا وتوثيقًا وسهل الاستخدام. أوصي باستخدام ذلك بدلاً من ذلك.
هذا محول للوزن من الكافيين إلى keras ، أي أنه يحول ملفات الوزن .caffemodel إلى ملفات وزن HDF5 المتوافقة مع Keras-2. يمكن أيضًا تصدير أوزان .caffemodel كصفائف numpy لمزيد من المعالجة.
يقوم هذا المحول بتحويل أوزان النموذج فقط (وليس تعريف النموذج) ، والذي يتمتع بميزة رائعة أنه لا يكسر في كل مرة يواجه فيها نوع طبقة غير معروف مثل المحولات الأخرى إلى المحاولة لترجمة تعريف النموذج أيضًا. الجانب السلبي ، بالطبع ، هو أنه سيتعين عليك كتابة تعريف النموذج بنفسك.
يوفر المستودع أيضًا الأوزان المحولة لبعض النماذج الشائعة.
ملاحظة: تم تكييف هذا المحول من الكود في مارك بولانوس فورك من الكافيين. انظر ACKS للحصول على كود مصدر.
يهدف هذا إلى أن يكون بمثابة وحدة تحويل لنماذج CAFFE لنماذج Keras.
من فضلك ، كن على علم بأن هذه الوحدة لا يتم الحفاظ عليها بانتظام. وبالتالي ، قد لا تكون بعض الطبقات أو تعريفات المعلمات المقدمة في الإصدارات الأحدث من keras أو Caffe متوافقة مع المحول. سحب طلبات الترحيب!
محول الشبكة العصبية للنماذج بين كيراس TensorFlow Caffe
شوكة كيراس مع العديد من الوظائف الجديدة. محول Caffe2keras ، طبقات متعددة الوسائط ، إلخ. https://github.com/marcbs/keras
يقدم شوكة Keras هذه المساهمات التالية:
Caffe to Keras Conversion Module Module Layer Leacher Layer New Layers for Multimodal Data Contact Contact Email: [email protected]
صفحة Github: https://github.com/marcbs
Marcbs/keras متوافق مع: Python 2.7 و theano فقط.
أداة بسيطة لترجمة نموذج الكافيين إلى نموذج Keras.
تحويل بين نماذج Keras و Pytorch.
تحويل نماذج Pytorch إلى keras.
تحويل نموذج Darknet .
تحويل بين Pytorch و Caffe و Darknet نماذج. يمكن تحميل نماذج Caffe Darknet مباشرة بواسطة Pytorch.
تحويل إلى طراز TensorFlow .
Crosstalk هو من CNTK.
أدوات لتحويل نماذج Keras للاستخدام مع أطر ML الأخرى (Coreml ، TensorFlow).
محول الشبكة العصبية للنماذج بين كيراس TensorFlow Caffe
تحويل نماذج الكافيين إلى TensorFlow.
يحول مجموعة متنوعة من النماذج المدربة إلى ملف بروتوكول TensorFlow المجمد للاستخدام مع C ++ TensorFlow API. يتم تضمين رمز C ++ لاستخدام النماذج المجمدة.
ترجمة Darknet إلى Tensorflow. قم بتحميل الأوزان المدربة ، وإعادة التثبيت/ضبطها باستخدام TensorFlow ، وتصدير الرسم البياني الثابت إلى الأجهزة المحمولة.
رمز TensorFlow لإعادة تدريب Yolo على مجموعة بيانات جديدة باستخدام الأوزان من DarkNet
يحتوي هذا المستودع على تجارب التعلم النقل باستخدام YOLO على مجموعة بيانات LEGO جديدة خشنة وغير موثقة!
تحويل نماذج Keras إلى TensorFlow المجمدة الرسم البياني للاستخدام على الهواتف المحمولة ، إلخ.
الكود العام لتحويل نموذج Keras المدربين إلى نموذج TensorFlow الاستدلال.
تحويل نموذج Pytorch المسبق إلى Tensorflow
تحويل نماذج Pytorch إلى TensorFlow (عبر keras)
هذا عبارة عن مكون بسيط يحول ملف الأوزان Darknet (.
لا readme.
تحويل إلى نموذج Chainer .
تحويل إلى طراز Coreml .
قم بتحويل النماذج المدربة التي تم إنشاؤها باستخدام أدوات التعلم الآلي لجهة خارجية إلى تنسيق نموذج ML الأساسي.
إذا تم إنشاء النموذج الخاص بك وتدريبه باستخدام أداة تعلم آلي تابعة لجهة خارجية مدعومة ، فيمكنك استخدام أدوات ML الأساسية لتحويلها إلى تنسيق طراز ML الأساسي. يسرد الجدول 1 النماذج المدعومة وأدوات الطرف الثالث.
| نوع النموذج | النماذج المدعومة | الأدوات المدعومة |
|---|---|---|
| الشبكات العصبية | التغذية ، التلافيفية ، المتكررة | الكافيين V1 Keras 1.2.2+ |
| مجموعات شجرة | الغابات العشوائية ، الأشجار المعززة ، أشجار القرار | Scikit-Learn 0.18 xgboost 0.6 |
| دعم آلات المتجهات | الانحدار العددي ، تصنيف متعدد الطبقات | Scikit-Learn 0.18 LIBSVM 3.22 |
| النماذج الخطية المعممة | الانحدار الخطي ، الانحدار اللوجستي | Scikit-Learn 0.18 |
| ميزة الهندسة | تجويف متناثر ، تخصيص كثيف ، معالجة فئوية | Scikit-Learn 0.18 |
| نماذج خطوط الأنابيب | نماذج بالسلاسل بالتتابع | Scikit-Learn 0.18 |
تحويل نماذج MXNET إلى تنسيق Apple Coreml. تساعد هذه الأداة في تحويل نماذج MXNET إلى تنسيق Apple Coreml الذي يمكن تشغيله بعد ذلك على أجهزة Apple.
تساعد هذه الأداة في تحويل نماذج Torch7 إلى تنسيق Apple Coreml الذي يمكن تشغيله بعد ذلك على أجهزة Apple.
Torch7 Library - تحويل نماذج NN إلى تنسيق iOS.
lib صغير لسلسلة Torch7 شبكات لنظام iOS. تشمل الطبقات المدعومة طبقات متصلة بالكامل وتجميع وتجميع وتلال في الوقت الحاضر. تقوم المكتبة بتخزين الأوزان والتحيزات (إن وجدت) لكل طبقة ضارة للاستدلال على أجهزة iOS.
نماذج Keras مع محول قائم على Python لتوفير التضمين في منصة iOS.
أدوات لتحويل نماذج Keras للاستخدام مع أطر ML الأخرى (Coreml ، TensorFlow).
تعاونت Google مع Apple لإنشاء إعلان محول TensorFlow إلى Coreml.
يتم توفير دعم Core ML من خلال أداة تأخذ نموذج TensorFlow وتحوله إلى تنسيق نموذج ML الأساسي (.mlmodel).
تحويل إلى نموذج مجداف .
X2Paddle هي مجموعة أدوات لتحويل النموذج المدرب إلى Paddlepaddle من أطر التعلم العميق الأخرى.
نماذج أكثر تفصيلاً: x2paddle/x2paddle_model_zoo.md في تطوير · paddlepaddle/x2paddle