t-SNEx is a lightweight, high-performance Python library for t-Distributed Stochastic Neighbor Embedding (t-SNE) built on top of JAX. Leveraging the power of JAX, tsnex
offers JIT compilation, automatic differentiation, and hardware acceleration support to efficiently handle high-dimensional data for visualization and clustering tasks.
Use the package manager pip to install tsnex
.
pip install tsnex
import tsnex
# Generate some high-dimensional data
key = jax.random.key(0)
X = jax.random.normal(key, shape=(10_000, 50))
# Perform t-SNE dimensionality reduction
X_embedded = tsnex.transform(X, n_components=2)
We welcome contributions to TSNEx! Whether it's adding new features, improving documentation, or reporting issues, please feel free to make a pull request and/or open an issue.
If you use tsnex
in your research and need to reference it, please cite it as follows:
@software{alonso_tsnex,
author = {Alonso, Albert},
title = {tsnex: Minimal t-distributed stochastic neighbor embedding (t-SNE) implementation in JAX},
url = {https://github.com/alonfnt/tsnex},
version = {0.0.1}
}
TSNEx is licensed under the MIT License. See the file for more details.