gchq / coreax

A library for coreset algorithms, written in Jax for fast execution and GPU support.
Apache License 2.0
21 stars 2 forks source link

Expand testing of coreset construction methodology correctness #628

Open pc532627 opened 4 months ago

pc532627 commented 4 months ago

What's the new feature?

At the time of writing, there are several unit tests covering the coreset construction methods (e.g. kernel herding, Stein thinning, ...) however, many methods do not have a unit test that checks the validity of the entire coreset construction. The correctness of Kernel herding is currently validated through tests of greedy_body (see test_greedy_body in tests/unit/test_coresubset.py) that have been written by carrying out the body function by-hand and comparing to the code result. We should add similar tests for all other coreset construction approaches.

What value does this add?

Ensure correctness of methods implemented in the library.

Is there an alternative you've considered?

No response

Additional context

No response

pc532627 commented 4 months ago

We need to ensure testing is done when unique=True and unique=False (analytical examples for both)