CANNs Documentation¶
Welcome to the CANNs (Continuous Attractor Neural Networks) documentation! This library provides a unified, high-level API for building, training, and analyzing continuous attractor neural networks.
- 🚀 Interactive Examples
Try the examples interactively:
📖 Table of Contents
API Reference
About CANNs¶
Continuous Attractor Neural Networks (CANNs) are a class of neural network models characterized by their ability to maintain stable activity patterns in continuous state spaces. This library provides:
Rich Model Library: 1D/2D CANNs, SFA models, hierarchical networks
Task-Oriented Design: Path integration, smooth tracking, custom tasks
Powerful Analysis Tools: Real-time visualization, statistical analysis
High Performance: JAX-based computation with GPU/TPU support
Quick Installation¶
# Basic installation (CPU)
pip install canns
# GPU support (Linux)
pip install canns[cuda12]
# TPU support (Linux)
pip install canns[tpu]
Quick Example¶
import brainstate
from canns.models.basic import CANN1D
from canns.task.tracking import SmoothTracking1D
# Create 1D CANN network
cann = CANN1D(num=512)
cann.init_state()
# Define smooth tracking task
task = SmoothTracking1D(
cann_instance=cann,
Iext=(1., 0.75, 2., 1.75, 3.),
duration=(10., 10., 10., 10.),
)
Community and Support¶
GitHub Repository: https://github.com/routhleck/canns
Issue Reports: https://github.com/routhleck/canns/issues
Discussions: https://github.com/routhleck/canns/discussions