Skip to content

FieteLab/torch-biopl-dev

 
 

Repository files navigation

torch-biopl: Biologically-plausible neural networks made easy

python pytorch torch-biopl License: MIT

torch-biopl is a PyTorch package designed to bridge the gap between traditional Artificial Neural Networks (ANNs) and biologically-inspired models. It provides modules that allow researchers to:

  • Train models using standard machine learning techniques while incorporating biological constraints.
  • Simulate large-scale populations of neurons with realistic biological properties.
  • Explore the impact of network topology on neural function.

Core functionalities

  • ConnectomeRNN

    • Handles rate-based neural populations whose recurrent connectivity matrix is specified from a biologically recoded (or synthetically initialized) connectome.
    • Includes under-the-hood application of sparse tensor arithmetic for efficient memory usage, enabling simulation and training of large-scale networks.
    • Supports the ability to flexibly spin up probabilistic connectomes, define celltypes and associated synaptic variables, and tune user-defined parameters via gradient descent.
  • SpatiallyEmbeddedRNN:

    • Model constructors and helpers to wire up cortical architectures with varying levels of biological specification.
    • Configurable aspects include cell classes, cell types, cell subtypes, local connectivity rules, synaptic and neuronal nonlinearities, time constants, feedback wiring, and lots more.

Installation and usage

For instructions to install the right dependencies and use either the API or CLI (Command Line Interface) of torch-biopl please refer to our Quick start guide and API documentation.

Tutorials and examples

For basic and advanced examples please refer to the webpage.

Contributing

We welcome contributions to torch-biopl. For guidelines on submitting code and documentation changes, please refer to contributing.

About

A software toolkit to instantiate (and train) a wide variety of biologically plausible neural network models in PyTorch

Resources

License

Contributing

Stars

Watchers

Forks

Languages

  • Jupyter Notebook 70.6%
  • Python 29.4%