Téléchargement: version stable actuelle (4.5.1)
MLPACK est une bibliothèque d'apprentissage automatique C ++ intuitive, rapide et flexible et flexible avec des liaisons à d'autres langues. Il est censé être un analogue d'apprentissage automatique pour Lapack, et vise à mettre en œuvre un large éventail de méthodes d'apprentissage automatique et fonctionne comme un "couteau suisse" pour les chercheurs à l'apprentissage automatique.
L'implémentation C ++ légère de MLPACK le rend idéal pour le déploiement, et il peut également être utilisé pour le prototypage interactif via des ordinateurs portables C ++ (ceux-ci peuvent être vus en action sur la page d'accueil de MLPack).
En plus de sa puissante interface C ++, MLPack fournit également des programmes de ligne de commande, des liaisons Python, des liaisons Julia, des liaisons GO et des liaisons R.
Liens rapides:
MLPACK utilise un modèle de gouvernance ouverte et est parrainé par parrainé par NUMFOCUS. Envisagez de faire un don déductible d'impôt pour aider le projet à payer le temps des développeurs, les services professionnels, les voyages, les ateliers et une variété d'autres besoins.
Si vous utilisez MLPACK dans votre recherche ou votre logiciel, veuillez citer MLPACK en utilisant la citation ci-dessous (donnée au 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}
}
Les citations sont bénéfiques pour la croissance et l'amélioration de MLPACK.
MLPACK nécessite les dépendances supplémentaires suivantes:
Si les en-têtes de bibliothèque STB sont disponibles, la prise en charge de chargement d'image sera disponible.
Si vous compilez le tatou à la main, assurez-vous que Lapack et Blas sont activés.
Des instructions d'installation détaillées peuvent être trouvées sur la page MLPACK d'installation.
Une fois que les en-têtes sont installés avec make install , l'utilisation de MLPACK dans une application consiste uniquement à l'inclure. Ainsi, votre programme devrait inclure MLPACK:
# include < mlpack.hpp > Et lorsque vous liez, assurez-vous de créer un lien avec le tarmadillo. Si votre programme d'exemple est my_program.cpp , votre compilateur est GCC, et que vous souhaitez compiler avec le support OpenMP (recommandé) et les optimisations, compiler comme ceci:
g++ -O3 -std=c++17 -o my_program my_program.cpp -larmadillo -fopenmp Notez que si vous souhaitez sérialiser (enregistrer ou charger) les réseaux de neurones, vous devez ajouter #define MLPACK_ENABLE_ANN_SERIALIZATION avant d'inclure <mlpack.hpp> . Si vous ne définissez pas MLPACK_ENABLE_ANN_SERIALIZATION et que votre code sérialise un réseau neuronal, une erreur de compilation se produira.
Voir aussi:
Makefile correspondants.MLPACK est une bibliothèque lourde de modèle, et si les soins ne sont pas utilisés, le temps de compilation d'un projet peut être très élevé. Heureusement, il existe plusieurs façons de réduire le temps de compilation:
Incluez des en-têtes individuels, comme <mlpack/methods/decision_tree.hpp> , si vous n'utilisez qu'un seul composant, au lieu de <mlpack.hpp> . Cela réduit la quantité de travail que le compilateur doit faire.
Utilisez uniquement la définition MLPACK_ENABLE_ANN_SERIALIZATION si vous sérialisation des réseaux de neurones dans votre code. Lorsque cette définition est activée, le temps de compilation augmentera considérablement, car le compilateur doit générer du code pour chaque type de couche possible. (La grande quantité de surcharge de compilation supplémentaire est la raison pour laquelle cela n'est pas activé par défaut.)
Si vous utilisez MLPACK dans plusieurs fichiers .cpp, envisagez d'utiliser extern templates afin que le compilateur n'instalise qu'une seule fois; Ajoutez une instanciation de modèle explicite pour chaque type de modèle MLPACK que vous souhaitez utiliser dans un fichier .cpp, puis utilisez des définitions extern ailleurs pour faire savoir au compilateur qu'il existe dans un fichier différent.
Il existe également d'autres stratégies, telles que les en-têtes précompilés, les options de compilateur, ccache et autres.
Voir la section d'instructions d'installation.
Plus de documentation est disponible pour les utilisateurs et les développeurs.
Pour en savoir plus sur les objectifs de développement de MLPACK dans un avenir à court et à moyen terme, voir le document Vision.
Si vous avez des problèmes, trouvez un bug ou avez besoin d'aide, vous pouvez essayer de visiter la page d'aide MLPACK ou MLPACK sur GitHub. Alternativement, une aide MLPACK peut être trouvée sur Matrix à #mlpack ; Voir aussi la page communautaire.