Skip to content

bingshenghe/thundersvm

 
 

Repository files navigation

ThunderSVM

Build Status

Overview

The mission of ThunderSVM is to help users easily and efficiently apply SVMs to solve problems. Some key features of ThunderSVM are as follows.

  • Support one-class, binary and multi-class SVM classification, SVM regression, and SVMs with probability outputs.
  • Have Python, R and Matlab interfaces.

Contents

Getting Started

Prerequisites

  • CUDA
  • cmake > 2.8
  • gcc > 4.8

Download

git clone git@github.com:zeyiwen/thundersvm.git

Build

cd thundersvm
mkdir build && cd build && cmake .. && make -j

Quick Start

bin\thundersvm-train -c 100 -g 0.5 ../dataset/test_dataset.txt
bin\thundersvm-predict ../dataset/test_dataset.txt test_dataset.model test_dataset.predict

You will see Accuracy = 0.98 after successful running.

Advanced

Working without GPUs

If you don't have GPUs, ThunderSVM can work with CPU only.

Get Eigen Library

ThunderSVM uses Eigen for matrix calculation. To use Eigen, just initialize the submodule.

# in thundersvm root directory
git submodule init eigen && git submodule update

Build without GPUs

# in thundersvm root directory
mkdir build && cd build && cmake -DUSE_CUDA=OFF -DUSE_EIGEN=ON .. && make -j

Now ThunderSVM will work solely on CPUs and does not rely on CUDA.

Related websites

TODO

  • integrate with interfaces

About

ThunderSVM: An Open-Source SVM Library on GPUs and CPUs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.0%
  • Cuda 3.7%
  • CMake 1.0%
  • Python 0.7%
  • C 0.3%
  • Shell 0.2%
  • R 0.1%