mlprt / feedbax

Optimal feedback control + interventions, in JAX.
https://docs.lprt.ca/feedbax
Apache License 2.0
1 stars 0 forks source link
biomechanics computational-neuroscience equinox jax machine-learning motor-control optimal-control python

Getting started

Feedbax is a JAX library for optimal feedback control with neural networks.

Feedbax makes it easy to:

Feedbax is in active development. Expect some changes in the near future!

Feedbax is a JAX library

Feedbax uses JAX and Equinox.

Never used JAX before?

Please also check out MotorNet, a PyTorch library with many similarities to Feedbax.

Installation

pip install feedbax

Currently requires Python>=3.11.

For best performance, install JAX with GPU support.

Documentation

Documentation is available here.

Development

I've developed Feedbax over the last few months, while learning JAX. My short-term objective has been to support my own use cases—graduate research in the neuroscience of motor control—but I've also tried to design something reusable and general.

I've added GitHub issues to document some of my choices and uncertainties. For an overview of major issues in different categories, check out this GitHub conversation. Refer also to this page of the docs, for an informal overview of how Feedbax objects relate to each other.

There are many features, especially pre-built models and tasks, that could still be implemented. Some of the models and tasks that are implemented, have yet to be fully optimized. So far I've focused more on the overall structure, than on coverage of all the common use cases I can imagine. If there's a particular model, task, or feature you'd like Feedbax to support, let us know, or contribute some code!

Acknowledgments