TVBOptim
JAX-based Optimization tools for The Virtual Brain Ontology (TVBO).
Philosophy
Don’t hide complexity You always have access to the underlying code. From the TVBO model you can get fast simulation code that can be adopted to easily explore new avenues starting from a solid base. For established workflows we want to enable you to get results quick and easy, providing utility and documentation form common problems.
Everything is a function of a state We take a functional approach to best leverage JAXs capabilities and incrementally grow the complexity of the model by wrapping existing functions into new ones.
= tvboptim.jaxify(experiment)
simulator, state = simulator(state)
timeseries
def observation(state):
= simulator(state)
timeseries = tvboptim.observation.fc(timeseries)
fc return fc
Features
✅ Fast Simulations on CPU and GPU
✅ Fully Differentiable via JAXs automatic differentiation capabilities
✅ Easy to use: Tested workflows for common problems
✅ Easy to extend: Access to the generated code allows easy customizations for novel applications
Quickstart
See the Get Started page for a quick overview of how to get started with TVBOptim.
For fully worked examples see the Workflows section, a good start is the Reduced Wong Wang BOLD FC Optimization.
For more API documentation, please check the Reference.