Skip to content

hpicgs/bhtsne

This branch is 405 commits ahead of, 10 commits behind lvdmaaten/bhtsne:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Christopher Weyand
Apr 4, 2018
11c3d96 · Apr 4, 2018
Feb 22, 2018
Mar 22, 2018
Mar 22, 2018
Feb 19, 2018
Apr 4, 2018
Mar 22, 2018
Mar 1, 2018
Feb 19, 2018
Nov 14, 2017
Mar 1, 2018
Dec 5, 2017
Mar 1, 2018
Mar 1, 2018
Nov 14, 2017
Nov 21, 2017
Dec 5, 2017

Repository files navigation

Build Status Build Status

This software package contains a Barnes-Hut implementation of the t-SNE algorithm as a C++ library and CLI. The implementation is described in this paper.

Requirements

  • C++14

Optional:

  • openMP (supported on all major plattforms including Solaris, AIX, HP-UX, Linux, macOS, and Windows)
  • AVX2 (first supported by Intel with the Knights Landing architecture)

Installation

This project uses the cmake-init template.

For MacOS and Linux:

./configure
cmake --build build

For Windows we recommend the cmake GUI to create a Visual Studio solution.

C++ Library Usage Example

#include <bhtsne/TSNE.h>

int main(int argc, char * argv[])
{
  bhtsne::TSNE alg;
  alg.loadCSV("..\data\small.csv");
  alg.setPerplexity(0.2);
  alg.run();
  tsne.saveSVG();
  tsne.saveCSV();
  return 0;
}

For a more information please refer to our doxygen documentation. The documentation can be enabled with the OPTION_BUILD_DOCS cmake option. Please note that linking against the library may require additional linker options for OpenMP.

CLI Usage Examples

./bhtsne_cmd --help
./bhtsne_cmd --version
./bhtsne_cmd --iterations 1000 --random-seed 42 -svg ~/data.dat
cat data.csv | ./bhtsne_cmd -legacy
./bhtsne_cmd -stdout -csv -legacy -svg ~/small.csv

Releases

No releases published

Packages

No packages published

Languages

  • C++ 84.1%
  • Python 11.0%
  • CMake 2.2%
  • Shell 0.9%
  • Makefile 0.7%
  • M4 0.6%
  • Other 0.5%