Commit Graph

42 Commits

Author SHA1 Message Date
e47a7ce4d6 Add multi-GPU support for age-bin evaluation and refactor aggregation logic 2026-01-16 16:27:02 +08:00
7a1210b5b0 Fix tqdm import handling by removing try-except block and ensuring proper import 2026-01-16 16:14:16 +08:00
90dffc3211 Add evaluation scripts for age-bin time-dependent metrics and remove obsolete evaluation_time_dependent.py 2026-01-16 16:13:31 +08:00
502ddd153b Refactor context index selection in evaluate_time_dependent to improve horizon-specific eligibility handling 2026-01-16 15:01:35 +08:00
34d8d8ce9d Add evaluation and utility functions for time-dependent metrics
- Introduced `evaluate.py` for time-dependent evaluation of models, including data loading and model inference.
- Added `evaluation_time_dependent.py` to compute various evaluation metrics such as AUC, average precision, and precision/recall at specified thresholds.
- Implemented CIF calculation methods in `losses.py` for different loss types, including exponential and piecewise exponential models.
- Created utility functions in `utils.py` for context selection and multi-hot encoding of events within specified horizons.
2026-01-16 14:55:09 +08:00
660dc969bc Remove models_eval_example.json file containing model evaluation configurations. 2026-01-16 13:09:38 +08:00
2f46acf2bd Add Piecewise Exponential CIF Loss and update model evaluation for PWE 2026-01-15 11:36:24 +08:00
d8b322cbee Enhance Event Rate@K and Recall@K computations with random ranking baseline and additional metrics 2026-01-11 00:52:35 +08:00
4d53f52aa1 Refactor AUC computation methods and introduce Event Rate@K for cross-cause prioritization 2026-01-11 00:47:56 +08:00
d87752d1f8 Enhance evaluation metrics and progress visualization in model evaluation
- Introduced parallel processing for per-disease metrics using ThreadPoolExecutor.
- Added command-line arguments for metric workers and progress visualization options.
- Refactored evaluation functions to compute metrics for all diseases and summarize results.
- Updated output CSV filenames for clarity and consistency.
2026-01-10 23:49:37 +08:00
87baef3ecf Fix device transfer for sexes in predict_cifs_for_model function 2026-01-10 17:02:28 +08:00
029f147ab5 Implement feature X to enhance user experience and fix bug Y in module Z 2026-01-10 17:00:16 +08:00
b88518a03f Refactor model configurations in models_eval_example.json: update names, add loss_type and full_cov attributes for Delphi and SAP Delphi models. 2026-01-10 14:29:15 +08:00
320597dcde Fix checkpoint path for sap_delphi_discrete_time_cif_partcov model in evaluation examples 2026-01-10 12:31:47 +08:00
b64ba101c2 Add sap_delphi_discrete_time_cif_partcov model configuration to evaluation examples 2026-01-10 12:22:14 +08:00
f795aa5604 Fix survival calculation in cifs_from_exponential_logits: broadcast mask for compatibility with tensor shapes 2026-01-10 11:42:03 +08:00
f231a2e4e5 Add model evaluation configurations for Delphi and SAP Delphi models
- Introduced a new JSON file `models_eval_example.json` containing evaluation configurations for various models.
- Included configurations for `delphi_fork` and `sap_delphi` models with different loss types and full covariance settings.
- Each model entry specifies the model name, type, loss type, full covariance flag, and checkpoint path.
2026-01-10 11:37:12 +08:00
3f15301f26 Enhance multi-GPU experiment runner: add log directory option, improve logging with sanitized filenames, and capture command output in log files. 2026-01-09 18:46:59 +08:00
5f8360a24a Update experiments configuration: replace PiecewiseExponentialLoss with DiscreteTimeCIFNLLLoss for delphi_fork and sap_delphi models 2026-01-09 18:44:16 +08:00
739eb326f2 Fix formatting in DiscreteTimeCIFNLLLoss documentation for clarity 2026-01-09 18:34:01 +08:00
209dde2299 Refactor loss functions and model architecture: replace PiecewiseExponentialLoss with DiscreteTimeCIFNLLLoss, update Trainer to use SimpleHead, and modify argument parsing for new loss type. 2026-01-09 18:31:38 +08:00
880fd53a4b Enhance Trainer class: add logging for WeibullNLLLoss parameters during training and validation 2026-01-09 13:48:36 +08:00
8723bf7600 Enhance Trainer class: add delta_scale logging for improved training statistics 2026-01-09 13:28:11 +08:00
dc34d51864 Add rank parameter to TrainConfig and update argument parsing for low-rank parameterization 2026-01-09 13:18:09 +08:00
1fa6d55d79 Refactor PiecewiseExponentialLoss and WeibullNLLLoss: remove lightweight numerical protections and improve error handling for input validation 2026-01-09 13:06:43 +08:00
b54c54a60b Refactor Trainer class: improve training statistics calculation and logging for NLL and regularization 2026-01-09 12:49:29 +08:00
aff0fe480b Refactor model and training scripts: remove unused imports and add FactorizedHead class for improved modularity 2026-01-09 12:01:52 +08:00
c70c3cd71e Reorganize import statements for consistency and clarity in model and training scripts 2026-01-09 10:16:03 +08:00
d7600514af Update Trainer class to rename parameters for clarity in embedding configuration 2026-01-08 17:11:19 +08:00
d20d32ba22 Add multi-GPU experiment runner script and experiments configuration 2026-01-08 13:57:34 +08:00
01a96d37ea Enhance DataLoader configuration and improve tensor transfer efficiency in Trainer class 2026-01-08 13:20:32 +08:00
5382f9f159 Remove EMA model implementation from Trainer class and related parameters from TrainConfig 2026-01-08 13:14:29 +08:00
615e2fe748 Refactor PiecewiseExponentialLoss for clarity and numerical stability improvements 2026-01-08 13:05:53 +08:00
06a01d2893 Add PiecewiseExponentialLoss class and update TrainConfig for new loss type 2026-01-08 12:45:31 +08:00
7c36f7a007 Update age_encoder parameter choices in TrainConfig and argument parser for clarity 2026-01-08 11:38:45 +08:00
9eda00ea48 Add n_tech_tokens parameter to DelphiFork and SapDelphi model initializations 2026-01-08 11:36:23 +08:00
1d1f568a3f Rename age_encoder parameter to age_encoder_type for clarity in Trainer class 2026-01-08 11:34:44 +08:00
8293f7ee24 Enhance TabularEncoder with BatchNorm and AutoDiscretization for continuous features 2026-01-08 00:24:43 +08:00
33ba7e6c1d Refactor training logic to improve early stopping mechanism and variable naming 2026-01-08 00:07:15 +08:00
811b2e1a46 Implement training script for Delphi model with configurable parameters 2026-01-07 23:57:29 +08:00
6984b254b3 Add loss functions and model architecture for time-to-event prediction
- Implemented ExponentialNLLLoss and WeibullNLLLoss in losses.py for negative log-likelihood calculations.
- Developed TabularEncoder class in model.py for encoding tabular features.
- Created DelphiFork and SapDelphi classes in model.py for time-to-event prediction using transformer architecture.
- Added data preparation scripts in prepare_data.R and prepare_data.py for processing UK Biobank data, including handling field mappings and event data extraction.
2026-01-07 21:32:00 +08:00
5d1d79b908 Initial commit 2026-01-07 21:27:38 +08:00