当前位置: 首页 > 工具软件 > MLPACK > 使用案例 >

c++机器学习库 mlpack的安装及使用!

满才
2023-12-01

一:简介

        1.1  mlpack介绍

                mlpack是一个快速、灵活的机器学习库(c++编写),其目的是提供快速便捷的机器学习算法。mlpack将这些算法提供为简单的命令行程序,Python绑定和C ++类,然后可以在c++代码用或者Python中调用他们来完成机器学习的工作。

        1.2  mlpack集成方法

                以下是目前最新版本中存在的方法:

  • mlpack_adaboost
  • mlpack_approx_kfn
  • mlpack_cf
  • mlpack_decision_stump
  • mlpack_decision_tree
  • mlpack_det
  • mlpack_emst
  • mlpack_fastmks
  • mlpack_gmm_train
  • mlpack_gmm_generate
  • mlpack_gmm_probability
  • mlpack_hmm_train
  • mlpack_hmm_loglik
  • mlpack_hmm_viterbi
  • mlpack_hmm_generate
  • mlpack_hoeffding_tree
  • mlpack_kernel_pca
  • mlpack_kfn
  • mlpack_kmeans
  • mlpack_knn
  • mlpack_krann
  • mlpack_lars
  • mlpack_linear_regression
  • mlpack_local_coordinate_coding
  • mlpack_logistic_regression
  • mlpack_lsh
  • mlpack_mean_shift
  • mlpack_nbc
  • mlpack_nca
  • mlpack_pca
  • mlpack_perceptron
  • mlpack_radical
  • mlpack_range_search
  • mlpack_softmax_regression
  • mlpack_sparse_coding

        1.3  使用mlpack的原因

            在我的实验中,需要用到集成学习和回归的一些预测方法,由于矩阵的计算在c++中显得不是很方便。所以我使用了mlpack和Armadillo库来方便计算,但是在安装和使用过程中遇到一些问题,所以就记录下来!

二:安装步骤

        2.1  安装依赖库

            以下三个都是mlpack的依赖库,所以必须提前安装。在linux系统中都可以通过命令直接安装。

  Armadillo     >= 6.500.0
  Boost (program_options, math_c99, unit_test_framework, serialization,
         spirit)
  CMake         >= 2.8.5

        2.2  Aramdillo 安装  (Ubuntu为例子)

            首先安装Armadillo依赖的库:lapack, blas, boost
                sudo apt-get install liblapack-dev
                sudo apt-get install libblas-dev

                sudo apt-get install libboost-dev

            接下来 安装Armadillo:

            sudo apt-get libarmadillo-dev 

            之后,安装完成,测试是否完成!以上步骤,都是应该可以直接完成的,需要Cmake和g++提前安装。

            创建一个 test.cpp,copy以下代码,用命令进行编译

g++ test.cpp -o test -larmadillo //编译命令
#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
//test.cpp
int main(int argc,char** argv) {
    mat A=randu<mat>(4,5);
    mat B=randu<mat>(4,5);
    cout<<A*trans(B)<<endl;
    return 0;
}

        2.3  Boost库的安装

         一条命令搞定!

apt-get install libboost-math-dev libboost-program-options-dev libboost-random-dev libboost-test-dev libxml2-dev

        2.4  mlpack安装

          在mlpack的github上或者官网都可以下载到最新的版本或者你想要的版本!

tar -xzf mlpack-2.0.1.tar.gz   //tar解压
cd mlpack-2.0.1                // 进入解压后的目录
unzip mlpack-2.0.1.zip         //zip解压
cd mlpack-2.0.1                // 进入解压后的目录

           之后,建立build目录,cmake,make即可

mkdir build
cd build
cmake ../
make    
sudo make install
          到此为止,mlpack基本上就安装成功了,但是如果安装不顺利,就会有很多问题,下面是问题的汇总!

三:安装过程可能遇到的问题

        3.1  make失败或者停止!

                这个问题我遇到很多次了,有的是在Makefile文件内改编译参数可以达到目的,我没试过。我的方法是如果你的方法在其他版本也有,可以更换版本重新编译即可!

                我在3.0.1版本中编译遇到mlpakc_kfn总是make失败,所以我回退版本到2.0.2安装,果断成功!

        3.2  调用失败!

                明明已经安装成功了,为什么在测试官网上的例子总是失败呢?

                安装成功,但是你并没有将它和C++的编译连接起来,导致你调用不了。这个时候一般加上 -lmlpack -larmadillo  即可,下面给出了一个例子,可以参考下!

g++ testlars.cpp -o testlars -lmlpack -larmadillo

                若上面还是解决不了,可以参考github上面的安装步骤及在build目录下输入以下命令:

export LD_LIBRARY_PATH="/usr/local/lib/:$LD_LIBRARY_PATH"
              还是不行的话,建议百度或者google!

四:总结

            make 慢起来,那是真慢!!!

 类似资料: