Skip to main content

Python module to produce an image plot of latent spaces.

Project description

Description

Python package to plot the latent space of a set of images with different methods.

Install with pip

$ python3 -m pip install latentplot --user

Install from source

$ git clone https://github.com/luiscarlosgph/latentplot.git
$ cd latentplot
$ python3 setup.py install --user

Exemplary code snippet

# List of BGR images of shape (H, W, 3)
images = [ ... ]           

# List of vectors of shape (D,), where D is the vector dimension
feature_vectors = [ ... ]  

# List of integer class labels
labels = [ ... ]           

# Produce a BGR image containing a 2D plot of the latent space with t-SNE
plotter = latentplot.Plotter(method='tsne')  # You can use either 'pca', 'tsne' or 'umap'                              
im_tsne = plotter.plot(images, feature_vectors, labels)  # Providing labels is optional

The latentplot.Plotter constructor parameters are:

Parameter name Description
method Method used to reduce the feature vectors to a 2D space. Available options: pca, tsne, umap.
width Desired output image width. Default is 15360 pixels (16K).
height Desired output image height. Default is 8640 pixels (16K).
dpi DPI for the output image. Default is 300.
cell_factor Proportion of the reduced latent space that each cell will occupy. Default is 0.01.
dark_mode Set it to False to have a white background with black font. Default is True.
hide_axes Hide axes, ticks and marks. Default is True.
**kwargs The rest of the arguments you pass will be forwarded to the dimensionality reduction method.

Exemplary results

  • CIFAR-10: the size of the images in this dataset is 32x32 pixels. The colour of the rectangle around each image indicates the class label of the image. The colour for each class is randomly chosen in every run.
    • PCA:

      CIFAR-10 PCA
    • t-SNE:

      CIFAR-10 t-SNE
    • UMAP:

      CIFAR-10 UMAP

Notes on dimensionality reduction methods

Author

Luis Carlos Garcia Peraza Herrera (luiscarlos.gph@gmail.com), 2023.

License

This code repository is shared under an MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

latentplot-0.0.2.tar.gz (12.6 kB view details)

Uploaded Source

File details

Details for the file latentplot-0.0.2.tar.gz.

File metadata

  • Download URL: latentplot-0.0.2.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for latentplot-0.0.2.tar.gz
Algorithm Hash digest
SHA256 0a3e514358244c7c68382bd1eda8f4493f690f8299cd1830220286ed015ceb6f
MD5 18341cb2785aa0fcd53fb6518f63ac48
BLAKE2b-256 ade1ed7dc340cd2294a0b4d90b27df6058bc0567ea5996501b717b6c4047ffe1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page