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