Spiking RNN#
The spiking package provides leaky integrate-and-fire (LIF) spiking neural networks mapped from continuous rate RNNs.
Core Modules#
Module Overview#
- LIF_network_fnc.py
Core function for converting rate RNNs to spiking networks and running LIF simulations.
- tasks.py
Task-based architecture for spiking neural network evaluation with abstract base classes and concrete task implementations.
- eval_tasks.py
Unified, extensible evaluation interface for spiking neural networks on cognitive tasks.
- lambda_grid_search.py
Grid search optimization for finding optimal scaling factors in rate-to-spike conversion.
- utils.py
Utility functions for model loading, network configuration, and spike data analysis.
Quick Reference#
Main Functions:
LIF_network_fnc(): Core rate-to-spike conversion and simulationevaluate_task(): Unified evaluation interface for all taskslambda_grid_search(): Optimize scaling factors
Task Classes:
AbstractSpikingTask: Base class for spiking task evaluationGoNogoSpikingTask: Go-NoGo task for spiking networksXORSpikingTask: XOR task for spiking networksManteSpikingTask: Mante task for spiking networksSpikingTaskFactory: Factory for creating spiking task instances
Configuration:
SpikingConfig: Configuration dataclass for spiking RNN parameterscreate_default_spiking_config(): Create default configuration
Utility Functions:
load_rate_model(): Load rate model from .mat fileformat_spike_data(): Format spike data for analysisSpikingTaskFactory.register_task(): Register custom tasks