Skip to main content

UMAP, but optimized with jax.

Project description

umapjax

Tests

UMAP, but optimized with jax. (Experimental implementation)

umapjax inherits the API of umap-learn. The UmapJax class is a drop-in replacement for umap.UMAP, with a few key differences:

  1. umapjax does not support densmap.
  2. umapjax does not support output_metric other than euclidean.

Note: umapjax does not fully replicate umap-learn and care should be used when interpreting results.

This package is intended to be used in combination with accelerated hardware like GPUs and TPUs. There is no benefit to using umapjax on a CPU.

Getting started

import umapjax

model = umapjax.UmapJax(n_neighbors=15, n_epochs=200)
embedding = model.fit_transform(X)

Implementation details

The implementaion used in umapjax is very similar to the one used in umap-learn; however, rather than a single step updating one single point, we update a set of points in parallel using jax. The size of the set of points is controlled by the batch_size parameter.

Installation

You need to have Python 3.11 or newer installed on your system. If you don't have Python installed, we recommend installing uv.

There are several alternative options to install umapjax:

  1. Install the latest release of umapjax from PyPI:
pip install umapjax
  1. Install the latest development version:
pip install git+https://github.com/adamgayoso/umapjax.git@main

Release notes

See the changelog.

Contact

If you found a bug, please use the issue tracker.

Citation

t.b.a

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

umapjax-0.0.1.tar.gz (91.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

umapjax-0.0.1-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file umapjax-0.0.1.tar.gz.

File metadata

  • Download URL: umapjax-0.0.1.tar.gz
  • Upload date:
  • Size: 91.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for umapjax-0.0.1.tar.gz
Algorithm Hash digest
SHA256 550e10f4b6631bcc8a658f2c163992a46fc6b1cfa7b05e4f3bb4c121fe85b803
MD5 0f5f8bb0f93c75a24ee05815ac822860
BLAKE2b-256 a91f51f555716b893669938e7ef50a82777688c3b575f2a646827abdf1f319c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for umapjax-0.0.1.tar.gz:

Publisher: release.yaml on adamgayoso/umapjax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file umapjax-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: umapjax-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for umapjax-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49654eb0b120997df201dbc16ca24730d6d95947ade858becb5ff835616d9ac6
MD5 47c1591182bc1b5821aa776c93a35271
BLAKE2b-256 7ab2c2581e46f456bcfea07e209d67f9350598c3a8adcd3980980fbdb0b31eb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for umapjax-0.0.1-py3-none-any.whl:

Publisher: release.yaml on adamgayoso/umapjax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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