ahmadjaved97 / tsne-grid

tsne visualization of images in a square grid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tsne-grid

This is a python script for t-SNE visualization of multiple images in a square grid.

Setup

Dependencies:

Usage

Basic usage:

python tsne_grid.py --dir ./examples/inputs/ --size 4

Options (required)

  • --dir: Path to directory containing image collection.
  • --size: Number of small images in a row/column in output image.

Options (optional)

  • --res: Width/height if small images (in pixels). Default is 224.
  • --name: Output filename. Default is tsne_grid.jpg
  • --path: Output image path. Default is current directory.
  • --per: Perplexity for t-SNE algorithm. Default is 50.
  • --iter: Number of iterations for t-SNE algorithm. Default is 5000.

Implementation details

VGG16 (without fc layers on top) is used to generate high dimensional feature representations of images. 2D representaions of these features are formed using scikit-learn's t-SNE implementation. These 2D representations are converted into a square grid using Jonker-Volgenant algorithm.

Support

The script was tested with tensorflow (1.4.0) and keras (2.1.1) on Nvidia GeForce GT 740M

References

  • L.J.P. van der Maaten and G.E. Hinton. Visualizing High-Dimensional Data Using t-SNE. Journal of Machine Learning Research 9(Nov):2579-2605, 2008. PDF [Supplemental material] [Talk] [Code]

About

tsne visualization of images in a square grid

License:MIT License


Languages

Language:Python 100.0%