Skip to content

Large refactor that solidifies object relationships#5

Merged
ekiefl merged 48 commits into
mainfrom
ek/refactor
Feb 5, 2026
Merged

Large refactor that solidifies object relationships#5
ekiefl merged 48 commits into
mainfrom
ek/refactor

Conversation

@ekiefl

@ekiefl ekiefl commented Feb 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Major refactor of the parametric UMAP implementation with improved architecture, better code organization, and comprehensive test coverage.

  • Refactors GlassBoxUMAP to inherit from ParametricUMAP, reducing code duplication
  • Introduces encoder registry system for flexible model selection (DefaultEncoder, ConvEncoder)
  • Adds DeepPReLUNet with dropout and LayerNormDetached for improved training stability
  • Flattens ParametricUMAP config into a single dataclass for cleaner API
  • Adds batched, device-aware transform for efficient inference
  • Implements tensorboard logging and best-model checkpointing
  • Adds comprehensive test suite for models, registry, and core functionality

- Aiming for 1:1 parity with umap_pytorch
- Written with AI
- Not tested
- Also remove callbacks.py (use default checkpointing)
 - Merge UMAPConfig and TrainConfig directly into ParametricUMAP,
   removing nested config classes and the `create` factory method
 - Add device_to_lightning_acceleration_config utility for proper GPU
   device handling in Lightning Trainer
 - Remove unused set_global_seeds in favor of pl.seed_everything for
   reproducibility
@ekiefl
ekiefl marked this pull request as ready for review February 4, 2026 23:23

@james-golden-arcadia james-golden-arcadia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for making all of these excellent changes! Runs smoothly for me. Repulsion_strength propagates correctly. The start on unit tests is very nice to have.

There are some small updates I would like to make in a next PR, mainly around running the visualize script for MNIST with a larger dataset and an optional number of works.

Overall LGTM.

@ekiefl

ekiefl commented Feb 5, 2026

Copy link
Copy Markdown
Collaborator Author

Interesting that windows 3.13 fails, but I'm gonna force merge anyways.

@ekiefl
ekiefl merged commit b17c6f0 into main Feb 5, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants