This folder contains the implementation and the results of the experiments in the paper "Calibration tests beyond classification" by David Widmann, Fredrik Lindsten, and Dave Zachariah, which will be presented at ICLR 2021.
We performed three experiments, called ols
, synthetic
and friedman
. Their implementations
can be found in the folders src/ols
, src/synthetic
, and src/friedman
, respectively. The results
and figures of the experiments are contained in the folders data/synthetic
, data/friedman
, and
figures/ols
, figures/synthetic
, and figures/friedman
.
Apart from the machine-dependent benchmarks, all results can be reproduced exactly.
The experiments were performed with Julia 1.5.3. You can download the official binaries from the Julia webpage.
For increased reproducibility, the nix
environment in this folder provides a fixed Julia
binary:
- Install nix.
- Navigate to this folder and activate the environment by running
in a terminal. Alternatively, if you use lorri, you can activate the environment by executing
nix-shell
in a terminal.direnv allow
The experiments are only performed if the results in the data
folder do not exist. Therefore
you have to (re)move the results that you want to regenerate. Existing figures are overwritten
automatically when you run the experiments.
Of course, the experiments depend on different Julia packages. The exact set and version of these dependencies that were used to generate the results and plots in the paper are pinned for every experiment separately. To install the Julia packages, execute
julia --startup-file=no --project=src/EXPERIMENT -e 'using Pkg; Pkg.instantiate()'
in a terminal in this folder, where EXPERIMENT
has to be replaced with the name of the experiment
that you want to run (i.e., with ols
, synthetic
, or friedman
).
The option --startup-file=no
increases reproducibility by eliminating any user-specific
customizations. You may add other arguments such as --color=yes
if you prefer colorized output.
If you have activated the project environment with nix-shell
or lorri
, the alias j
can be used
for calling julia
with the arguments --startup-file=no --color=yes
.
You can run the desired experiment in a terminal with
julia --startup-file=no --project=src/EXPERIMENT src/EXPERIMENT/script.jl
where again EXPERIMENT
has to be replaced with the name of the experiment.
As mentioned above, --startup-file=no
increases reproducibility and other command line arguments
such as --color=yes
could be added.