How ispirt/depa-training works
DEPA for Training is a reference implementation of confidential clean rooms for privacy-preserving analytics and model training. A scenario supplies data preparation and pipeline configuration; the core framework supports dataset loading, joining, and differential-privacy-aware training, with evaluation and model outputs. Contracts, policy, and encrypted-data handling provide important governance and data-protection capabilities. The interactive demo discovers scenarios and exposes deployment and status controls. Edges are limited to README statements and relationships visible in the excerpts or source index; unsampled runtime wiring is left unasserted.
Main entry points: pipeline_executor.py Pipeline Executor · xgb_train.py XGBoost Training · app.py Demo Backend · dl_train.py Deep Learning
Components 23
Interactive Demo
- Demo UI
gui-demo/static/js/app.js - Demo Backend
gui-demo/app.py
Scenario Workflows
- Scenario Definitions
scenarios - Pipeline Config
scenarios - Data Preprocessing
scenarios - Model Setup
scenarios - Scenario Data
scenarios - Trained Models
scenarios
Training Engine
- Pipeline Executor
src/train/pytrain/pipeline_executor.py - Dataset Construction
src/train/pytrain/utilities/dataset_constructor.py - Dataset Joining
src/train/pytrain/join.py - Task Base
src/train/pytrain/task_base.py - Deep Learning
src/train/pytrain/dl_train.py - XGBoost Training
src/train/pytrain/xgb_train.py - Model Construction
src/train/pytrain/utilities/model_constructor.py - Loss Construction
src/train/pytrain/utilities/loss_constructor.py - Evaluation
src/train/pytrain/utilities/eval_tools.py
Privacy And Governance
- Encrypted Data Loader
src/encfs/encfs.sh - Policy Rules
src/policy/policy.rego - Scenario Contracts
scenarios
External Services
- Contract Service
- Azure Services
Other components
- Scenario Operator
Connections 26
- Scenario Operator → Demo UI: operates
README.md - Demo UI → Demo Backend: requests scenarios
gui-demo/static/js/app.js - Demo Backend → Scenario Definitions: discovers
gui-demo/app.py - Demo UI → Demo Backend: runs scripts
gui-demo/static/js/app.js - Demo Backend → Azure Services: checks account
gui-demo/app.py - Demo Backend → Pipeline Config: reads scenario
gui-demo/app.py - Pipeline Config → Pipeline Executor: configures
- Pipeline Executor → Dataset Construction: loads datasets
- Pipeline Executor → Dataset Joining: dispatches join
- Pipeline Executor → Deep Learning: dispatches training
- Pipeline Executor → XGBoost Training: dispatches training
- Dataset Construction → Scenario Data: reads data
- Dataset Joining → Scenario Data: joins datasets
- XGBoost Training → Task Base: inherits from
src/train/pytrain/xgb_train.py - XGBoost Training → Dataset Construction: imports
src/train/pytrain/xgb_train.py - XGBoost Training → Evaluation: imports
src/train/pytrain/xgb_train.py - Deep Learning → Model Construction: uses
- Deep Learning → Loss Construction: uses
- Evaluation → Trained Models: evaluates outputs
- Deep Learning → Trained Models: produces models
- XGBoost Training → Trained Models: produces models
- Encrypted Data Loader → Scenario Data: loads encrypted data
- Scenario Contracts → Contract Service: works with
README.md - Scenario Operator → Contract Service: signs contract
- Pipeline Config → Policy Rules: sets policy
- Azure Services → Encrypted Data Loader: hosts clean room