Skip to content
/ arena Public

This repo is used to compare different torchjd functions (e.g. aggregators), potentially from different commits of torchjd, on a variety of topics (computation time, precision, etc.)

License

Notifications You must be signed in to change notification settings

TorchJD/arena

Repository files navigation

arena

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.).

Installation

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)

Usage

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>

Contributing

Before making commits, but after installing the environment, run:

uv run pre-commit install

About

This repo is used to compare different torchjd functions (e.g. aggregators), potentially from different commits of torchjd, on a variety of topics (computation time, precision, etc.)

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •