AdaptiveMotorControlLab / CEBRA

Learnable latent embeddings for joint behavioral and neural analysis - Official implementation of CEBRA
https://cebra.ai
Other
884 stars 72 forks source link

Remove `subsample` default in `OrthogonalProcrustesAlignment`, improve tests #28

Closed stes closed 1 year ago

stes commented 1 year ago

Multiple tests failed internally and on this repo (e.g., in #20 , #25, #26) due to a numerical issue in OrthogonalProcrustesAlignment when a too small value for subsample is used.

This PR fixes this by setting the default to None, which means that all points available in the embedding are used for alignment. This is the numerically best option. In other cases, warnings are emitted, when e.g. the values of subsample is smaller than the number of points in the dataset, or when the number of subsample is smaller than 1000 (a reasonable default).

This PR also improves the tests, and removes the atol value of several tests, or at least decreases it slightly to avoid false negatives in the future.


Fix https://github.com/AdaptiveMotorControlLab/CEBRA-dev/pull/647 Fix https://github.com/AdaptiveMotorControlLab/CEBRA-dev/pull/645 Fix https://github.com/AdaptiveMotorControlLab/CEBRA-dev/issues/644

github-actions[bot] commented 1 year ago

Docstring Coverage Report

Name Total Miss Cover Cover%
main.py 5 1 4 80%
config.py 6 4 2 33%
data/datatypes.py 5 2 3 60%
data/helper.py 6 1 5 83%
data/multi_session.py 12 5 7 58%
datasets/demo.py 8 3 5 62%
datasets/gaussian_mixture.py 3 2 1 33%
datasets/hippocampus.py 7 1 6 86%
datasets/save_dataset.py 4 1 3 75%
datasets/allen/single_session_ca.py 9 3 6 67%
distributions/discrete.py 9 2 7 78%
distributions/multisession.py 5 1 4 80%
integrations/sklearn/helpers.py 2 1 1 50%
integrations/sklearn/metrics.py 3 1 2 67%
integrations/sklearn/utils.py 6 1 5 83%
models/projector.py 12 9 3 25%
------------------------------------------ -------- ------- -------- ---------
TOTAL 396 38 358 90.4%
(45 of 61 files omitted due to complete coverage)

RESULT: PASSED (minimum: 90.0%, actual: 90.4%)