Descargar: versión estable actual (4.5.1)
Mlpack es una biblioteca de aprendizaje automático C ++ de C ++ solo de encabezado intuitivo, rápido y flexible con enlaces a otros idiomas. Está destinado a ser un análogo de aprendizaje automático a Lapack, y tiene como objetivo implementar una amplia gama de métodos y funciones de aprendizaje automático como una "navaja suiza" para los investigadores de aprendizaje automático.
La implementación ligera de C ++ de MLPACK lo hace ideal para la implementación, y también se puede utilizar para la creación de prototipos interactivos a través de cuadernos C ++ (estos se pueden ver en acción en la página de inicio de Mlpack).
Además de su potente interfaz C ++, MLPACK también proporciona programas de línea de comandos, enlaces de pitón, enlaces de Julia, enlaces GO y enlaces R.
Enlaces rápidos:
MLPACK utiliza un modelo de gobierno abierto y está patrocinado fiscalmente por Numfocus. Considere hacer una donación deducible de impuestos para ayudar al proyecto a pagar el tiempo del desarrollador, los servicios profesionales, los viajes, los talleres y una variedad de otras necesidades.
Si usa MLPack en su investigación o software, cite mlpack utilizando la cita a continuación (dada en formato 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}
}
Las citas son beneficiosas para el crecimiento y la mejora de MLPack.
MLPACK requiere las siguientes dependencias adicionales:
Si los encabezados de la biblioteca STB están disponibles, el soporte de carga de imágenes estará disponible.
Si está compilando el armadillo a mano, asegúrese de que Lapack y BLAS estén habilitados.
Se pueden encontrar instrucciones de instalación detalladas en la página de instalación de mlpack.
Una vez que los encabezados se instalan con make install , el uso de mlpack en una aplicación consiste solo en incluirlo. Por lo tanto, su programa debe incluir mlpack:
# include < mlpack.hpp > Y cuando vincule, asegúrese de vincular contra Armadillo. Si su programa de ejemplo es my_program.cpp , su compilador es GCC, y desea compilar con OpenMP Support (recomendado) y optimizaciones, compile así:
g++ -O3 -std=c++17 -o my_program my_program.cpp -larmadillo -fopenmp Tenga en cuenta que si desea serializar (guardar o cargar) redes neuronales, debe agregar #define MLPACK_ENABLE_ANN_SERIALIZATION antes de incluir <mlpack.hpp> . Si no define MLPACK_ENABLE_ANN_SERIALIZATION y su código esializa una red neuronal, se producirá un error de compilación.
Ver también:
Makefile correspondiente.Mlpack es una biblioteca de plantilla pesada, y si no se usa la atención, el tiempo de compilación de un proyecto puede ser muy alto. Afortunadamente, hay varias formas de reducir el tiempo de compilación:
Incluya encabezados individuales, como <mlpack/methods/decision_tree.hpp> , si solo está usando un componente, en lugar de <mlpack.hpp> . Esto reduce la cantidad de trabajo que el compilador tiene que hacer.
Solo use la definición MLPACK_ENABLE_ANN_SERIALIZATION si está serializando redes neuronales en su código. Cuando esta definición está habilitada, el tiempo de compilación aumentará significativamente, ya que el compilador debe generar código para cada tipo posible. (La gran cantidad de sobrecarga de compilación adicional es la razón por la cual esto no está habilitado de forma predeterminada).
Si está utilizando mlpack en múltiples archivos .cpp, considere usar extern templates para que el compilador solo instancie cada plantilla una vez; Agregue una instancia de plantilla explícita para cada tipo de plantilla de mlpack que desea usar en un archivo .cpp, y luego use definiciones extern en otro lugar para que el compilador sepa que existe en un archivo diferente.
También existen otras estrategias, como encabezados precompilados, opciones de compiladores, ccache y otras.
Consulte la sección de instrucciones de instalación.
Hay más documentación disponible tanto para usuarios como para desarrolladores.
Para aprender sobre los objetivos de desarrollo de MLPack en el futuro a corto y mediano plazo, consulte el documento de visión.
Si tiene problemas, encuentre un error o necesita ayuda, puede intentar visitar la página de ayuda de mlpack o mlpack en github. Alternativamente, la ayuda de mlpack se puede encontrar en Matrix en #mlpack ; Consulte también la página de la comunidad.