- Model internals and objectives:
syran_model.py - Training loops and experiment logic:
syran_training.py - Evaluation:
syran_evaluation.py - Experiment entry points:
run_benchmark.py,run_toy_kepler.py
This project is largely self-contained, but relies on a few standard Python libraries. We recommend setting up a virtual environment and installing the dependencies listed in environment.yaml:
conda env create -f environment.yaml
conda activate SYRANSpecifically, you need:
- Python 3.10+
numpyscikit-learntqdm(used insidephase_searchif applicable)
Each dataset is stored in data/<dataset>.npz with keys:
x: training data, shape(n_train, n_features)tx: test data, shape(n_test, n_features)ty: binary test labels, shape(n_test,)
The toy data is stored in toy_data/exoplanet_data.npz with key:
data: full dataset, shape(n_samples, 2), columnsTanda.
Examples:
python run_benchmark.py \
--dataset APima \
--data_root data \
--output_root results \
--complexity_weight 0.1 \
--loss_bound 1.0 \
--chunk_size 2 \
--num_chunks 20 \
--max_phase_iterations 30000 \
--seed 42python run_toy_kepler.py \
--data_path toy_data/exoplanet_data.npz \
--output_root kepler_results \
--complexity_weight 0.1 \
--chunk_size 2 \
--num_chunks 50 \
--max_phase_iterations 100 \
--seed 42