This repo is used to compare different functions (like aggregators or backward calls), potentially from different commits of torchjd, on a variety of topics (computation time, precision, etc.).
We recommend to use Python 3.12, because earlier versions of torchjd did not support Python 3.13.
uv python install 3.12.10
uv python pin 3.12.10
Make scripts executable:
chmod +x $(ls *.sh)
Run the following command:
uv run python -m main <config-name>
With <config-name>
replaced by the name of your desired configuration file (without the .yaml extension), located in
configs
. For instance:
uv run python -m main upgrad_runtime
To make other tests, you can modify objectives.py
, and you may need to make a new interface (the object responsible to
load your Python function and wrap it to make it have the same interface as what your objective expects) in
interfaces.py
. You can then make a new .yaml
configuration in configs
.
To obtain an actual table from the computed results, use:
uv run python -m scripts.analyze <config-name>
Before making commits, but after installing the environment, run:
uv run pre-commit install