Skip to content

Add PLAN.md: detailed strategy for modular ML pipeline - #1

Open
pieris98 wants to merge 7 commits into
mainfrom
claude/modular-ml-pipeline-gdvuo
Open

Add PLAN.md: detailed strategy for modular ML pipeline#1
pieris98 wants to merge 7 commits into
mainfrom
claude/modular-ml-pipeline-gdvuo

Conversation

@pieris98

@pieris98 pieris98 commented Feb 9, 2026

Copy link
Copy Markdown
Owner

Outlines architecture for pluggable encoder/decoder registry, pipeline
orchestrator with YAML-driven stage execution, third-party plugin
interface, and metrics abstraction layer.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L

Outlines architecture for pluggable encoder/decoder registry, pipeline
orchestrator with YAML-driven stage execution, third-party plugin
interface, and metrics abstraction layer.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
Implements ComponentRegistry with register/get/list/decorator APIs for
encoders, decoders, metrics, stages, and datasets. Plugin loader supports
loading third-party modules from file paths or installed packages via
a register(registry) convention. 31 unit tests all passing.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
Creates src/decoders/ package with:
- BaseDecoder ABC defining forward(), load_checkpoint(), decode_to_sequences()
- TransformerDecoderWrapper wrapping existing TransformerDecoder
- LMHeadDecoder wrapping encoder lm_heads
- Registry integration via decorators
- Built-in encoders registered in src/encoders/__init__.py

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
Creates BaseMetric ABC with compute() interface and concrete wrappers
(FIDMetric, MMDMetric, ESMPPPLMetric, PLDDTMetric). Each wrapper
delegates to the existing metric functions while providing a uniform
interface. Registry setup module registers all built-in metrics.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
Implements 7 pipeline stages as registered BaseStage subclasses:
- setup_data: dataset download, filtering, and splitting
- setup_models: encoder model download and caching
- calculate_statistics: normalization statistics computation
- train_decoder: optional decoder training
- train_diffusion: diffusion model training with DDP support
- run_inference: sample generation from trained models
- evaluate_metrics: pluggable metric computation via registry

Each stage has validate() and run() methods with shared context passing.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
Implements PipelineOrchestrator that reads YAML pipeline configs and
executes stages in sequence with shared context. Features:
- Plugin loading at pipeline start
- Stage validation before execution
- Dry-run mode (--dry-run)
- Configurable on_failure (abort/continue) per stage
- Stage-specific parameter overrides
- CLI entry point (run_pipeline.py) with --list-components

Includes 3 pipeline configs: full_pipeline, inference_only, train_only.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
Includes end-to-end tests for:
- Plugin loading and component registration
- Custom metric computation via plugin
- Custom stage execution via plugin
- Multi-stage orchestration with context passing
- Selective stage enable/disable
- Pipeline abort vs continue on failure

Example plugin demonstrates the third-party developer interface.
Full test suite: 79 tests, all passing.

https://claude.ai/code/session_013WW5ia7wHgxxetTyVhVL1L
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