Protege Engine
The Protege Engine module contains the core training and orchestration logic for Protege-based machine learning workflows. It provides tools to define, train, evaluate, and package deep learning models, with a focus on modularity, reproducibility, and cloud-ready execution.
✨ Features
-
Model Zoo & Wrappers
- Built-in support for object detection, classification, segmentation, and keypoints.
- Wraps
torchvision
models with unified interfaces and custom augmentations.
-
Lightning-Powered Trainer
- PyTorch Lightning integration with modular callbacks, logging, export, and scheduler logic.
- Extensible architecture for distributed training and multi-GPU support.
-
Dataset Management
- Artifact and manifest handling tools to support dynamic data loading.
- Seamless integration with COCO-style and custom datasets.
-
CLI for Packaging
- Provides the
protege-package
command for generating ready-to-deploy model bundles. - Supports export formats compatible with inference runtimes and cloud pipelines.
- Provides the
-
Training Runtime Docker
- CUDA-ready Docker image for remote or cloud-based training execution.
- Also includes a lightweight image for CI/CD publishing of the engine as a library.
🛠️ Use Cases
- Training custom deep learning models in a structured, repeatable environment.
- Packaging model artifacts for deployment in inference runtimes (e.g.
protege-runtime
). - Integrating with orchestration systems (e.g. Vertex AI, Vortex.ai) for distributed training.
- Customizing training loops, metrics, or model heads while retaining standardized IO and export behavior.