Ubuntuの16.04でmplackをコンパイルしてインストールするためのチュートリアルを| UbuntuのにC ++ツールキットmlpackと書き込みmlpack-config.cmake機械学習上の16.04をコンパイルしてインストールします

この記事では、最初の個人的なブログ登場https://kezunlin.me/post/1cd6a04d/最新の内容に、ようこそ!

Ubuntuの16.04でmplackをコンパイルしてインストールするためのチュートリアル

ガイド

mlpack:スケーラブルなC ++機械学習ライブラリ

依存関係

  • アルマジロ> = 6.500.0
  • ブースト
  • CMakeの> = 3.3.2

アルマジロ:に基づいてC ++線形代数ライブラリLAPACKBLAS
あなたが手でアルマジロをコンパイルする場合は、LAPACKおよびBLASが有効になっていることを確認してください。

参照OpenCVの対アルマジロ対固有Linux上

sudo apt-get install libarmadillo-dev

インストール

apt-getを

sudo apt-get install libmlpack-dev

バージョン:2.0.1
デフォルトではmlpackにインストールされます/usr/include/mlpackと、/usr/lib

コンパイル

wget https://www.mlpack.org/files/mlpack-3.1.1.tar.gz
git clone https://github.com/mlpack/mlpack.git
mkdir build && cd build && cmake-gui ..
make -j8
sudo make install

configureと出力

...
Found Armadillo: /usr/lib/libarmadillo.so (found suitable version "6.500.5", minimum required is "6.500.0") 
Armadillo libraries: /usr/lib/libarmadillo.so
...

バージョン:3.1.1
デフォルトではmlpackにインストールされます/usr/local/includeと、/usr/local/lib/libmlpack.so.3.1

使用法

mlpack-config.cmake

#.rst:
# FindMLPACK
# -------------
#
# Find MLPACK
#
# Find the MLPACK C++ library
#
# Using MLPACK::
#
#   find_package(MLPACK REQUIRED)
#   include_directories(${MLPACK_INCLUDE_DIRS})
#   add_executable(foo foo.cc)
#   target_link_libraries(foo ${MLPACK_LIBRARIES})
#
# This module sets the following variables::
#
#   MLPACK_FOUND - set to true if the library is found
#   MLPACK_INCLUDE_DIRS - list of required include directories
#   MLPACK_LIBRARIES - list of libraries to be linked
#   MLPACK_VERSION_MAJOR - major version number
#   MLPACK_VERSION_MINOR - minor version number
#   MLPACK_VERSION_PATCH - patch version number
#   MLPACK_VERSION_STRING - version number as a string (ex: "1.0.4")


# UNIX paths are standard, no need to specify them.
find_library(MLPACK_LIBRARY
    NAMES mlpack
    PATHS "$ENV{ProgramFiles}/mlpack/lib"  "$ENV{ProgramFiles}/mlpack/lib64" "$ENV{ProgramFiles}/mlpack"
)
find_path(MLPACK_INCLUDE_DIR
    NAMES mlpack/core.hpp mlpack/prereqs.hpp
    PATHS "$ENV{ProgramFiles}/mlpack"
)


if(MLPACK_INCLUDE_DIR)
    # Read and parse mlpack version header file for version number
    file(STRINGS "${MLPACK_INCLUDE_DIR}/mlpack/core/util/version.hpp" _mlpack_HEADER_CONTENTS REGEX "#define MLPACK_VERSION_[A-Z]+ ")
    string(REGEX REPLACE ".*#define MLPACK_VERSION_MAJOR ([0-9]+).*" "\\1" MLPACK_VERSION_MAJOR "${_mlpack_HEADER_CONTENTS}")
    string(REGEX REPLACE ".*#define MLPACK_VERSION_MINOR ([0-9]+).*" "\\1" MLPACK_VERSION_MINOR "${_mlpack_HEADER_CONTENTS}")
    string(REGEX REPLACE ".*#define MLPACK_VERSION_PATCH ([0-9]+).*" "\\1" MLPACK_VERSION_PATCH "${_mlpack_HEADER_CONTENTS}")
    
    unset(_mlpack_HEADER_CONTENTS)
    
    set(MLPACK_VERSION_STRING "${MLPACK_VERSION_MAJOR}.${MLPACK_VERSION_MINOR}.${MLPACK_VERSION_PATCH}")
endif()

find_package_handle_standard_args(MLPACK
    REQUIRED_VARS MLPACK_LIBRARY MLPACK_INCLUDE_DIR
    VERSION_VAR MLPACK_VERSION_STRING
)

if(MLPACK_FOUND)
    set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIR})
    set(MLPACK_LIBRARIES ${MLPACK_LIBRARY})
endif()

# Hide internal variables
mark_as_advanced(
    MLPACK_INCLUDE_DIR
    MLPACK_LIBRARY
)

ここに

CMakeLists.txt

find_package(MLPACK REQUIRED)
MESSAGE( [Main] " MLPACK_INCLUDE_DIRS = ${MLPACK_INCLUDE_DIRS}") 
MESSAGE( [Main] " MLPACK_LIBRARIES = ${MLPACK_LIBRARIES}")  
# /usr/local/include
# /usr/local/lib/libmlpack.so

mlpackクラスタリング

参照mlpackクラスタリングを

関数kmeans

今スキップします。

meanshift

DBSCAN

sklearnクラスタリング

from sklearn.cluster import MeanShift
from sklearn.cluster import DBSCAN
from sklearn.cluster import KMeans

参照sklearnクラスタリングを

OpenCVのクラスタリング

  • CV ::関数kmeans()

参照OpenCVのクラスタリングを

参照

歴史

  • 20190520:作成しました。

著作権

  • 投稿者:kezunlin
  • ポストリンク:https://kezunlin.me/post/1cd6a04d/
  • 著作権:別途明記しない限り、このブログのすべての記事はCC BY-NC-SA 3.0の下でライセンスされています。

おすすめ

転載: www.cnblogs.com/kezunlin/p/11933153.html