extern crate multi_skill;
extern crate rayon;
use rayon::prelude::*;
use multi_skill::experiment_config::Experiment;
fn main() {
let mut experiment_files = vec![];
let datasets = vec!["codeforces", "topcoder", "reddit", "synth-sm", "synth-la"];
let methods = vec!["glicko", "bar", "cf", "tc", "ts", "mmx-fast", "mmr-fast"];
let metrics = vec!["acc", "rnk", "ent"];
for dataset in &datasets {
for method in &methods {
for metric in &metrics {
let filename = format!("../experiments/{}/{}-{}.json", dataset, method, metric);
experiment_files.push(filename);
}
}
}
experiment_files.par_iter().for_each(|filename| {
let experiment = Experiment::from_file(filename);
assert!(experiment.max_contests >= experiment.dataset.len());
let num_training_rounds = experiment.dataset.len() / 10;
experiment.eval(num_training_rounds, filename);
});
}