/tsne-pytorch

Pytorch implementation for t-SNE with cuda to accelerate

Primary LanguagePythonMIT LicenseMIT

t-SNE pytorch Implementation with CUDA

pytorch implementation of algorithm described in Visualizing Data using t-SNE. This code support cuda accelerating.

How to use it

Just download the repository, and the unzip mnist2500_X.zip or put feature file and labels file with code

1. run without cuda support

python tsne_torch.py --xfile mnist2500_X.txt --yfile mnist2500_labels.txt --cuda 0

2.run with cuda support

python tsne_torch.py --xfile mnist2500_X.txt --yfile mnist2500_labels.txt --cuda 1

Note: The input data should be normalized to the range [0.0, 1.0], otherwise you may get the 'nan' result.

Requirements

  • pytorch
  • matplotlib, numpy

Example

This is our result compare to result of python implementation.

  • pytorch result
  • use time 352s on 2080Ti GPU

computing time pytorch result

  • python result
  • use time 634s on CPU

computing time python result

Credit

This code highly inspired by

  • author's python implementation code here.