The Brain-Score library enables model comparisons to behavioral and neural experiments
Project description
Brain-Score is a platform to evaluate computational models of brain function
on their match to brain measurements in primate vision.
The intent of Brain-Score is to adopt many (ideally all) the experimental benchmarks in the field
for the purpose of model testing, falsification, and comparison.
To that end, Brain-Score operationalizes experimental data into quantitative benchmarks
that any model candidate following the BrainModel
interface can be scored on.
Note that you can only access a limited set of public benchmarks when running locally. To score a model on all benchmarks, submit it via the brain-score.org website.
See the documentation for more details, e.g. for submitting a model or benchmark to Brain-Score. For a step-by-step walkthrough on submitting models to the Brain-Score website, see these web tutorials.
See these code examples on scoring models, retrieving data, using and defining benchmarks and metrics. These previous examples might be helpful, but their usage has been deprecated after the 2.0 update.
Brain-Score is made by and for the community. To contribute, please send in a pull request.
Local installation
You will need Python = 3.11 and pip >= 18.1.
pip install git+https://github.com/brain-score/vision.git
Test if the installation is successful by scoring a model on a public benchmark:
from brainscore_vision.benchmarks import public_benchmark_pool
benchmark = public_benchmark_pool['dicarlo.MajajHong2015public.IT-pls']
model = my_model()
score = benchmark(model)
# > <xarray.Score ()>
# > array(0.07637264)
# > Attributes:
# > Attributes:
# > error: <xarray.Score ()>\narray(0.00548197)
# > raw: <xarray.Score ()>\narray(0.22545106)\nAttributes:\...
# > ceiling: <xarray.DataArray ()>\narray(0.81579938)\nAttribut...
# > model_identifier: my-model
# > benchmark_identifier: dicarlo.MajajHong2015public.IT-pls
Some steps may take minutes because data has to be downloaded during first-time use.
Environment Variables
Variable | Description |
---|---|
RESULTCACHING_HOME | directory to cache results (benchmark ceilings) in, ~/.result_caching by default (see https://github.com/brain-score/result_caching) |
License
MIT license
Troubleshooting
`ValueError: did not find HDF5 headers` during netcdf4 installation
pip seems to fail properly setting up the HDF5_DIR required by netcdf4. Use conda: `conda install netcdf4`repeated runs of a benchmark / model do not change the outcome even though code was changed
results (scores, activations) are cached on disk using https://github.com/mschrimpf/result_caching. Delete the corresponding file or directory to clear the cache.CI environment
Add CI related build commands to test_setup.sh
. The script is executed in CI environment for unittests.
References
If you use Brain-Score in your work, please cite "Brain-Score: Which Artificial Neural Network for Object Recognition is most Brain-Like?" (technical) and "Integrative Benchmarking to Advance Neurally Mechanistic Models of Human Intelligence" (perspective) as well as the respective benchmark sources.
@article{SchrimpfKubilius2018BrainScore,
title={Brain-Score: Which Artificial Neural Network for Object Recognition is most Brain-Like?},
author={Martin Schrimpf and Jonas Kubilius and Ha Hong and Najib J. Majaj and Rishi Rajalingham and Elias B. Issa and Kohitij Kar and Pouya Bashivan and Jonathan Prescott-Roy and Franziska Geiger and Kailyn Schmidt and Daniel L. K. Yamins and James J. DiCarlo},
journal={bioRxiv preprint},
year={2018},
url={https://www.biorxiv.org/content/10.1101/407007v2}
}
@article{Schrimpf2020integrative,
title={Integrative Benchmarking to Advance Neurally Mechanistic Models of Human Intelligence},
author={Schrimpf, Martin and Kubilius, Jonas and Lee, Michael J and Murty, N Apurva Ratan and Ajemian, Robert and DiCarlo, James J},
journal={Neuron},
year={2020},
url={https://www.cell.com/neuron/fulltext/S0896-6273(20)30605-X}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file brainscore_vision-2.2.1.tar.gz
.
File metadata
- Download URL: brainscore_vision-2.2.1.tar.gz
- Upload date:
- Size: 28.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef425d93db15b6adf4a1492911397be1d8faf2b514e3f09b8cdb74708a75428a |
|
MD5 | 85f6043bb608aea7dc962f1494efb682 |
|
BLAKE2b-256 | a42fd45af3523f1a6ba8e538db668c49fcdc91fa35e8a3752ec57799df691595 |
Provenance
The following attestation bundles were made for brainscore_vision-2.2.1.tar.gz
:
Publisher:
bump_version.yml
on brain-score/vision
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
brainscore_vision-2.2.1.tar.gz
- Subject digest:
ef425d93db15b6adf4a1492911397be1d8faf2b514e3f09b8cdb74708a75428a
- Sigstore transparency entry: 148755285
- Sigstore integration time:
- Predicate type:
File details
Details for the file brainscore_vision-2.2.1-py3-none-any.whl
.
File metadata
- Download URL: brainscore_vision-2.2.1-py3-none-any.whl
- Upload date:
- Size: 28.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d5788666a4fe47f42cbbb9ab6b0aa7433f61ec695c58ae55f37ff7aca324c8 |
|
MD5 | 25cc3a7ec325c04395c32c1fb72a589e |
|
BLAKE2b-256 | 1190a8d210008766f9e1e2a29de2ed9a80961d7496edbd0a9435ca8f21b5d924 |
Provenance
The following attestation bundles were made for brainscore_vision-2.2.1-py3-none-any.whl
:
Publisher:
bump_version.yml
on brain-score/vision
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
brainscore_vision-2.2.1-py3-none-any.whl
- Subject digest:
06d5788666a4fe47f42cbbb9ab6b0aa7433f61ec695c58ae55f37ff7aca324c8
- Sigstore transparency entry: 148755286
- Sigstore integration time:
- Predicate type: