تنزيل: الإصدار الحالي المستقر (4.5.1)
MLPACK هي مكتبة التعلم الآلي C ++ بديهية وسريعة ومرنة فقط مع روابط للغات الأخرى. من المفترض أن يكون التناظرية للتعلم الآلي ل Lapack ، ويهدف إلى تنفيذ مجموعة واسعة من أساليب ووظائف التعلم الآلي باعتبارها "سكين الجيش السويسري" للباحثين في التعلم الآلي.
إن تطبيق C ++ الخفيف الوزن من MLPACK يجعله مثاليًا للنشر ، ويمكن أيضًا استخدامه للنماذج الأولية التفاعلية عبر دفاتر C ++ (يمكن رؤيتها في العمل على الصفحة الرئيسية لـ MLPACK).
بالإضافة إلى واجهة C ++ القوية ، يوفر MLPACK أيضًا برامج سطر الأوامر ، وربط Python ، وربط Julia ، وربط GO وترابط R.
روابط سريعة:
يستخدم MLPACK نموذج حوكمة مفتوح ويتم رعايته مالياً بواسطة NumFocus. فكر في تقديم تبرع معفاة من الضرائب لمساعدة المشروع على دفع وقت المطور ، والخدمات المهنية ، والسفر ، وورش العمل ، ومجموعة متنوعة من الاحتياجات الأخرى.
إذا كنت تستخدم MLPACK في بحثك أو برنامجك ، فيرجى الاستشهاد بـ MLPACK باستخدام الاقتباس أدناه (الوارد في تنسيق bibtex):
@article{mlpack2023,
title = {mlpack 4: a fast, header-only C++ machine learning library},
author = {Ryan R. Curtin and Marcus Edel and Omar Shrit and
Shubham Agrawal and Suryoday Basak and James J. Balamuta and
Ryan Birmingham and Kartik Dutt and Dirk Eddelbuettel and
Rishabh Garg and Shikhar Jaiswal and Aakash Kaushik and
Sangyeon Kim and Anjishnu Mukherjee and Nanubala Gnana Sai and
Nippun Sharma and Yashwant Singh Parihar and Roshan Swain and
Conrad Sanderson},
journal = {Journal of Open Source Software},
volume = {8},
number = {82},
pages = {5026},
year = {2023},
doi = {10.21105/joss.05026},
url = {https://doi.org/10.21105/joss.05026}
}
الاستشهادات مفيدة لنمو وتحسين MLPACK.
يتطلب MLPack التبعيات الإضافية التالية:
إذا كانت رؤوس مكتبة STB متوفرة ، فسيتوفر دعم تحميل الصور.
إذا كنت تقوم بتجميع Armadillo باليد ، فتأكد من تمكين Lapack و Blas.
يمكن العثور على تعليمات التثبيت التفصيلية على صفحة تثبيت MLPACK.
بمجرد تثبيت الرؤوس باستخدام make install ، فإن استخدام MLPACK في تطبيق ما يتكون فقط من تضمينه. لذلك ، يجب أن يتضمن برنامجك mlpack:
# include < mlpack.hpp > وعندما تربط ، تأكد من الارتباط مع أرماديلو. إذا كان برنامج المثال الخاص بك هو my_program.cpp ، فإن المترجم الخاص بك هو GCC ، وترغب في تجميع مع دعم OpenMP (الموصى به) والتحسينات ، وتجميع مثل هذا:
g++ -O3 -std=c++17 -o my_program my_program.cpp -larmadillo -fopenmp لاحظ أنه إذا كنت ترغب في إجراء تسلسل (حفظ أو تحميل) الشبكات العصبية ، فيجب عليك إضافة #define MLPACK_ENABLE_ANN_SERIALIZATION قبل تضمين <mlpack.hpp> . إذا لم تقم بتحديد MLPACK_ENABLE_ANN_SERIALIZATION و CODER الخاص بك ، فإنك تسلسل الشبكة العصبية ، فسيحدث خطأ في التجميع.
انظر أيضا:
Makefile المقابلة.MLPACK هي مكتبة ثقيلة القالب ، وإذا لم يتم استخدام الرعاية ، فقد يكون وقت تجميع المشروع مرتفعًا للغاية. لحسن الحظ ، هناك عدد من الطرق لتقليل وقت التجميع:
قم بتضمين الرؤوس الفردية ، مثل <mlpack/methods/decision_tree.hpp> ، إذا كنت تستخدم مكونًا واحدًا فقط ، بدلاً من <mlpack.hpp> . هذا يقلل من مقدار العمل الذي يتعين على المترجم القيام به.
استخدم تعريف MLPACK_ENABLE_ANN_SERIALIZATION فقط إذا كنت تقوم بتسلسل الشبكات العصبية في الكود الخاص بك. عند تمكين هذا التعريف ، سيزداد وقت التجميع بشكل كبير ، حيث يجب على المترجم إنشاء رمز لكل نوع ممكن من الطبقة. (الكمية الكبيرة من النفقات العامة للتجميع الإضافية هي السبب في عدم تمكين هذا افتراضيًا.)
إذا كنت تستخدم MLPACK في ملفات .CPP متعددة ، ففكر في استخدام extern templates بحيث لا يقوم برنامج التحويل البرمجي إلا بتثبيت كل قالب مرة واحدة ؛ أضف إنشاء مثيل قالب صريح لكل نوع قالب MLPACK الذي تريد استخدامه في ملف .CPP ، ثم استخدم تعريفات extern في مكان آخر لإعلام المترجم بأنه موجود في ملف مختلف.
توجد استراتيجيات أخرى أيضًا ، مثل الرؤوس المسبقة وخيارات التحويل البرمجي و ccache وغيرها.
انظر قسم تعليمات التثبيت.
يتوفر المزيد من الوثائق لكل من المستخدمين والمطورين.
للتعرف على أهداف تطوير MLPACK في المستقبل على المدى القصير والمتوسط ، راجع وثيقة الرؤية.
إذا كانت لديك مشاكل ، أو ابحث عن خطأ ، أو تحتاج إلى مساعدة ، فيمكنك محاولة زيارة صفحة مساعدة MLPACK أو MLPACK على github. بالتناوب ، يمكن العثور على مساعدة MLPACK على المصفوفة في #mlpack ؛ انظر أيضا صفحة المجتمع.