Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

C++机器学习库MLPack

2019/09/15 C++ 机器学习 环境配置
Word count: 825 | Reading time: 4min

C++机器学习库MLPack

mlpack: a scalable C++ machine learning library

由于在网上查了一下发现安装这个库碰到了不少问题,所以还是记录一下安装过程。

安装

列出两种安装教程吧,第一种实测可以。第二种在测试Armadillo的时候没通过,还是缺库,有兴趣的人可以通过给的Armadillo官网链接下载安装Armadillo再试试

安装方法一:

Mlpack 官网 提供了下载的方法 : sudo apt-get install libmlpack-dev , 但貌似有博客指出目前国内源里是没有这个镜像的,所以采取的办法是直接从观望上下载mlpack-3.0.0.tar.gz(没敢使用最新的,怕出错) 来编译安装

1
2
3
4
5
6
7
8
$ tar -xvf mlpack-3.0.0.tar.gz 
$ cd mlpack-1.0.12
$ mkdir build
$ sudo apt-get install libboost-math-dev libboost-program-options-dev libboost-random-dev libboost-test-dev libxml2-dev libarmadillo-dev
$ cd build
$ cmake ..
$ make -j4
$ sudo make install

注意根据报错信息:Maybe need administrative privileges.,所以 make install 前面要加上sudo权限

1
2
3
4
5
6
7
[ 51%] Built target mlpack_sparse_coding
[100%] Built target mlpack_test
Install the project...
-- Install configuration: ""
CMake Error at cmake_install.cmake:36 (file):
file cannot create directory: /usr/local/lib/pkgconfig. Maybe need
administrative privileges.

然后就是可选的编译条件,就是你只想安装其中一些包,也是可以的: $ make pca allknn allkfn ,只安装pca allknn allkfn这几个算法包。

摘自:http://www.linuxdiyf.com/linux/27052.html

安装方式二:(不推荐)

安装依赖库

1
2
3
4
Armadillo     >= 6.500.0
Boost (program_options, math_c99, unit_test_framework, serialization,
spirit)
CMake >= 2.8.5
Aramdillo 安装 (Ubuntu为例子)

首先安装Armadillo依赖的库:lapack, blas, boost

1
2
3
$ 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++提前安装。

g++ test.cpp -o test -larmadillo

1
2
3
4
5
6
7
8
9
10
11
#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;
}

网上还有说Armadillo也无法找不到镜像, 于是还是到官网下载下来编译安装,[Armadillo C++ matrix library](

Boost库的安装

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

mlpack安装

也是去官网下载编译安装

1
2
3
4
5
6
7
8
9
10
$ 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

源文件中有各种算法的例子,可以学习其使用方法,这里需要注意一点,在编译和链接时,都要加上-lmlpack -larmadillo,来包含所需库。

如编写下列代码:

1
2
3
4
5
6
#include <mlpack/core.hpp>
using namespace std;
int main(){
cout << mlpack::util::GetVersion() << endl;
return 0;
}

▲.注意.编译的命令为g++ -std=c++11 testmlpack.cpp -o testlars -l mlpack -l armadillo,其中要加上**-std=c++11**,不然无法编译通过。


[Armadillo C++ ML library]http://arma.sourceforge.net/download.html)

如果Armadillo出错,可以去官网[Armadillo C++ ML library]http://arma.sourceforge.net/download.html)下载编译安装

Author: Mrli

Link: https://nymrli.top/2019/03/25/C++机器学习库MLPack/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
蓝桥杯突击训练
NextPost >
南京邮电大学java程序设计作业在线编程第六次作业
CATALOG
  1. 1. C++机器学习库MLPack
    1. 1.1. 安装
      1. 1.1.1. 安装方法一:
      2. 1.1.2. 安装方式二:(不推荐)
        1. 1.1.2.1. 安装依赖库
          1. 1.1.2.1.1. Aramdillo 安装 (Ubuntu为例子)
          2. 1.1.2.1.2. Boost库的安装
          3. 1.1.2.1.3. mlpack安装
    2. 1.2. 使用mlpack