Skip to main content

The Brain-Score library enables model comparisons to behavioral and neural experiments

Project description

Build Status Documentation Status Contributor Covenant

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 brainscore-vision

Test if the installation is successful by scoring a model on a public benchmark:

import brainscore_vision

benchmark = brainscore_vision.load_benchmark('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:  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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brainscore_vision-2.3.7.tar.gz (28.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brainscore_vision-2.3.7-py3-none-any.whl (30.3 MB view details)

Uploaded Python 3

File details

Details for the file brainscore_vision-2.3.7.tar.gz.

File metadata

  • Download URL: brainscore_vision-2.3.7.tar.gz
  • Upload date:
  • Size: 28.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for brainscore_vision-2.3.7.tar.gz
Algorithm Hash digest
SHA256 b3447f9b2de7222973f52033b6fdda39c8d165732a4020744379ef8c02d90bd4
MD5 8a23a925422115fd69b6d2c2c6fb43da
BLAKE2b-256 78dcd2ca23cd4ef3746ebb2a20f49d17bda881a3334bd51e20b6ef68ebd31bf3

See more details on using hashes here.

Provenance

The following attestation bundles were made for brainscore_vision-2.3.7.tar.gz:

Publisher: bump_version.yml on brain-score/vision

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file brainscore_vision-2.3.7-py3-none-any.whl.

File metadata

File hashes

Hashes for brainscore_vision-2.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 23ac99d6c1b7cd5e94f4fb58aa4e8f3d8ddac4b64ab20a98bd7c5152b03563d3
MD5 de9a82312dc04cb3651ab3b7c4af5d91
BLAKE2b-256 3878a9bdb25e050f7b5271f2088293e0d3e2bd103eb18bfa22836569fee235be

See more details on using hashes here.

Provenance

The following attestation bundles were made for brainscore_vision-2.3.7-py3-none-any.whl:

Publisher: bump_version.yml on brain-score/vision

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page