Unduh: Versi stabil saat ini (4.5.1)
MLPACK adalah perpustakaan pembelajaran mesin C ++ yang intuitif, cepat, dan fleksibel dengan header C ++ dengan binding ke bahasa lain. Ini dimaksudkan untuk menjadi analog pembelajaran mesin ke Lapack, dan bertujuan untuk menerapkan beragam metode dan fungsi pembelajaran mesin sebagai "pisau tentara Swiss" untuk peneliti pembelajaran mesin.
Implementasi C ++ ringan MLPack membuatnya ideal untuk penyebaran, dan juga dapat digunakan untuk pembuatan prototipe interaktif melalui C ++ Notebooks (ini dapat dilihat beraksi di beranda MLPack).
Selain antarmuka C ++ yang kuat, MLPACK juga menyediakan program baris perintah, binding Python, binding Julia, binding GO dan binding R.
Tautan cepat:
MLPACK menggunakan model tata kelola terbuka dan disponsori secara fiskal oleh NumFocus. Pertimbangkan untuk memberikan sumbangan yang dapat dikurangkan dari pajak untuk membantu proyek membayar waktu pengembang, layanan profesional, perjalanan, lokakarya, dan berbagai kebutuhan lainnya.
Jika Anda menggunakan MLPack dalam penelitian atau perangkat lunak Anda, silakan kutip MLPack menggunakan kutipan di bawah ini (diberikan dalam format 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}
}
Kutipan bermanfaat untuk pertumbuhan dan peningkatan MLPack.
MLPack membutuhkan dependensi tambahan berikut:
Jika header perpustakaan STB tersedia, dukungan pemuatan gambar akan tersedia.
Jika Anda menyusun armadillo dengan tangan, pastikan Lapack dan Blas diaktifkan.
Instruksi instalasi terperinci dapat ditemukan di halaman pemasangan MLPACK.
Setelah header diinstal dengan make install , menggunakan MLPack dalam aplikasi hanya terdiri dari memasukkannya. Jadi, program Anda harus menyertakan MLPack:
# include < mlpack.hpp > Dan saat Anda menautkan, pastikan untuk menautkan dengan Armadillo. Jika program contoh Anda adalah my_program.cpp , kompiler Anda adalah GCC, dan Anda ingin mengkompilasi dengan dukungan OpenMP (disarankan) dan optimisasi, kompilasi seperti ini:
g++ -O3 -std=c++17 -o my_program my_program.cpp -larmadillo -fopenmp Perhatikan bahwa jika Anda ingin membuat serial (simpan atau memuat) jaringan saraf, Anda harus menambahkan #define MLPACK_ENABLE_ANN_SERIALIZATION sebelum memasukkan <mlpack.hpp> . Jika Anda tidak mendefinisikan MLPACK_ENABLE_ANN_SERIALIZATION dan kode Anda membuat serial jaringan saraf, kesalahan kompilasi akan terjadi.
Lihat juga:
Makefile yang sesuai s.MLPACK adalah perpustakaan template-heavy, dan jika perawatan tidak digunakan, waktu kompilasi suatu proyek bisa sangat tinggi. Untungnya, ada sejumlah cara untuk mengurangi waktu kompilasi:
Sertakan header individual, seperti <mlpack/methods/decision_tree.hpp> , jika Anda hanya menggunakan satu komponen, bukan <mlpack.hpp> . Ini mengurangi jumlah pekerjaan yang harus dilakukan kompiler.
Hanya gunakan definisi MLPACK_ENABLE_ANN_SERIALIZATION jika Anda membuat serial jaringan saraf dalam kode Anda. Ketika definisi ini diaktifkan, waktu kompilasi akan meningkat secara signifikan, karena kompiler harus menghasilkan kode untuk setiap jenis lapisan yang mungkin. (Sejumlah besar overhead kompilasi ekstra adalah mengapa ini tidak diaktifkan secara default.)
Jika Anda menggunakan MLPack di beberapa file .cpp, pertimbangkan untuk menggunakan extern templates sehingga kompiler hanya membuat setiap templat sekali; Tambahkan instantiasi templat eksplisit untuk setiap jenis template mlpack yang ingin Anda gunakan dalam file .cpp, dan kemudian gunakan definisi extern di tempat lain untuk memberi tahu kompiler itu ada dalam file yang berbeda.
Strategi lain juga ada, seperti header yang dikompilasi, opsi kompiler, ccache , dan lainnya.
Lihat bagian Instruksi Instalasi.
Lebih banyak dokumentasi tersedia untuk pengguna dan pengembang.
Untuk mempelajari tentang tujuan pengembangan MLPack di masa depan jangka pendek dan menengah, lihat dokumen visi.
Jika Anda memiliki masalah, temukan bug, atau butuh bantuan, Anda dapat mencoba mengunjungi halaman Bantuan MLPack, atau MLPack di GitHub. Bergantian, bantuan MLPack dapat ditemukan di matriks di #mlpack ; Lihat juga halaman komunitas.