Repository navigation
Releases: Achuttarsing/umap-gpu
Releases · Achuttarsing/umap-gpu
Release list
v0.3.0
Align the UMAP implementation with the reference pure-MLX UMAP so it produces equivalent embeddings.
Changes
- Spectral initialization (new
src/spectral-init.ts): power iteration on the symmetric-normalized graph adjacency, scaled to[0,10]+ jitter — replaces random uniform init. - smooth-kNN σ search: sums over neighbors
j=1..k-1(skips thej=0/rho column),rho = max(min_nonzero, 1e-8), σ bounded to[1e-20, 1e3]then floored at1e-10. - SGD: squared distances floored at
1e-6; each active edge does exactlynegativeSampleRaterepulsions (flat rate); the CPU path now uses Jacobi accumulation to match the GPU two-pass. - Made the CPU-vs-GPU comparison test deterministic.
Published automatically via the GitHub Actions npm pipeline (OIDC trusted publishing).
v0.2.16
What's new
- Add
seedoption for deterministic output — passseed: numbertoUMAPOptionsto get reproducible embeddings across runs. When omitted, behavior is unchanged.
v0.2.15
What's Changed
- Add WebGPU output tests that exercise GPUSgd directly by @Achuttarsing in #23
Full Changelog: v0.2.14...v0.2.15
v0.2.14
v0.2.13
What's Changed
- Claude/fix umap transform bugs j tvn p by @Achuttarsing in #21
Full Changelog: v0.2.12...v0.2.13
v0.2.12
What's Changed
- fix: correct epochsPerSample formula and nNeg calculation in CPU SGD by @Achuttarsing in #20
Full Changelog: v0.2.11...v0.2.12
v0.2.11
What's Changed
- Fix kNN distance smoothing and SGD gradient application by @Achuttarsing in #19
Full Changelog: v0.2.10...v0.2.11
v0.2.10
What's Changed
- Fix symmetrization and attraction gradient in SGD layout by @Achuttarsing in #18
Full Changelog: v0.2.9...v0.2.10
v0.2.9
What's Changed
- Add docs deployment workflow and update API documentation by @Achuttarsing in #16
- Improve package.json metadata and export configuration by @Achuttarsing in #17
Full Changelog: v0.2.8...v0.2.9
v0.2.8
What's Changed
- Add Bun setup step to publish workflow by @Achuttarsing in #15
Full Changelog: v0.2.7...v0.2.8