下載:當前穩定版本(4.5.1)
MLPACK是一種直觀,快速且靈活的僅標頭的C ++機器學習庫,並具有與其他語言的綁定。它是對Lapack的機器學習類似物,旨在將各種機器學習方法和功能作為機器學習研究人員的“瑞士軍刀”。
MLPACK的輕量級C ++實現使其非常適合部署,並且也可以通過C ++筆記本電腦進行交互式原型(可以在MLPACK的主頁上使用它們)。
除了其功能強大的C ++接口外,MLPACK還提供命令行程序,Python綁定,Julia Bindings,Go Bindings和R Bindings。
快速鏈接:
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庫標頭,將提供圖像加載支持。
如果您是手工編譯員,請確保啟用Lapack和Blas。
詳細的安裝說明可以在安裝MLPACK頁面上找到。
將標題安裝到make install中後,在應用程序中使用MLPACK僅包括包含它。因此,您的程序應包括MLPACK:
# include < mlpack.hpp >當您鏈接時,請務必與Armadillo鏈接。如果您的示例程序是my_program.cpp ,則您的編譯器是GCC,並且您想在OpenMP支持(建議)和優化的情況下進行編譯,請這樣編譯:
g++ -O3 -std=c++17 -o my_program my_program.cpp -larmadillo -fopenmp請注意,如果要序列化(保存或加載)神經網絡,則應在包含<mlpack.hpp>之前添加#define MLPACK_ENABLE_ANN_SERIALIZATION 。如果您不定義MLPACK_ENABLE_ANN_SERIALIZATION ,並且您的代碼序列化神經網絡,則會發生彙編錯誤。
參見:
Makefile s。MLPACK是一個繁重的模板庫,如果不使用護理,則項目的彙編時間可能很高。幸運的是,有多種減少彙編時間的方法:
如果您僅使用一個組件,而不是<mlpack.hpp> <mlpack/methods/decision_tree.hpp>這減少了編譯器要做的工作量。
僅使用MLPACK_ENABLE_ANN_SERIALIZATION定義,如果您在代碼中序列化神經網絡。當啟用此定義時,編譯時間將大大增加,因為編譯器必須為每種可能的層類型的代碼生成代碼。 (默認情況下,大量額外的彙編開銷是為什麼不啟用這一點的原因。)
如果您在多個.cpp文件中使用MLPACK,請考慮使用extern templates以便編譯器僅對每個模板實例化一次;為要在.cpp文件中使用的每個MLPACK模板類型添加明確的模板實例化,然後使用其他位置的extern定義讓編譯器知道它存在於其他文件中。
也存在其他策略,例如預編譯標題,編譯器選項, ccache等。
請參閱“安裝說明”部分。
用戶和開發人員都可以使用更多文檔。
要了解在短期和中期未來中MLPACK的發展目標,請參見Vision文件。
如果您有問題,找到錯誤或需要幫助,可以嘗試訪問MLPACK幫助頁面或GitHub上的MLPACK。或者,在#mlpack的矩陣上可以找到MLPACK幫助;另請參見社區頁面。