Releases: Imageomics/emb-explorer
Releases · Imageomics/emb-explorer
App Separation & Production Hardening
Highlights
- Two standalone Streamlit apps — Split the monolithic app.py into
apps/embed_explore/(embed & cluster your own images) andapps/precalculated/(explore precomputed embeddings), each with dedicated entry points. - Shared module architecture — Common code extracted into
shared/{components,services,utils,lib}/to keep both apps DRY. - GPU-to-CPU fallback — Clustering auto-falls back through
cuML → FAISS → sklearnon OOM or CUDA errors. cuMLUMAP stability — UMAP runs in an isolated subprocess with L2-normalized embeddings to prevent SIGFPE crashes.- Lazy-loaded heavy libraries — Deferred imports of
torch,cuML, andFAISScut startup time drastically - Improved visualization — Zoom/pan support and heatmap option for clustering charts; chart interactions no longer trigger full page reruns.
- Dynamic metadata filtering — Precalculated app auto-generates filters from parquet schema.
Documentation
- Added
BACKEND_PIPELINE.md,DATA_FORMAT.md, and.github/copilot-instructions.mdfor testing & code review - Updated
READMEwith two-app workflow and simplified install instructions
Dependencies
- Relaxed numpy cap from <=2.2.0 to <2.3 (numba compatibility)
- Separate CLI entry points via
pyproject.toml
Initial Combined App
This release contains the initial development of the image embedding explorer. It contains a working monolithic Streamlit application that allows users to embed local images and explore embeddings in 2D space, and also supports exploring precalculated embeddings.