Benchmarks#
decent-bench includes some benchmarks that are already implemented in the examples folder available
here. The benchmarks are listed below
with a short description of the use case and features.
How to use benchmarks#
Benchmarks are implemented as Jupyter notebooks, and include all the code to set up and run the benchmark in a
self-contained way. Testing a new algorithm on the benchmark is as easy as adding a new item to the list algorithms
that is passed as argument of benchmark(). Each notebook also includes a number
of arguments definitions that can be used to customize the benchmark problem.
Available benchmarks#
The follwing list includes the currently available benchmarks, specifying to which architectures they apply.
consensus[peer-to-peer]: this benchmark tests a simple average consensus problem, where the agents need to collaboratively compute the average of their initial observations \(u_i\).FEMNIST[federated]: this benchmark tests federated algorithms for a classification task of handwritten characters from the FEMNIST dataset.MNIST[peer-to-peer]: this benchmark tests peer-to-peer algorithms for a classification task of handwritten digits from the MNIST dataset.nim[peer-to-peer]: this benchmark tests peer-to-peer algorithms for neural implicit mapping, where the agents are spread over an environment they need to map, and collaboratively train a neural network approximating the density of the environment (which pinpoints where obstacles are).