How jakexxh/srnn-2afc works
This research code trains and evaluates a spiking recurrent neural network on rule-dependent cue-and-sensory trials, then supports analysis of recorded neural activity. The principal workflow is trial generation → model training/testing → saved recordings and metrics → neural-data visualization. The graph separates task data, training orchestration, network implementation, and analysis. The README documents TensorBoard logging and checkpoint-based testing; the supplied excerpts do not show every persistence detail or the full analysis implementation.
Main entry points: main.py Training and testing · model.py Sequence model · snn_PFC.py Spiking network · results_visualization.py Analysis tools
Components 15
Task inputs
- Trial generation
data_generator.py - Model parameters
parameters.py
Training and evaluation
- Experiment runner
main.py - Training and testing
main.py - Early stopping
early_stopping.py - Model checkpoints
main.py - Training metrics
main.py
Spiking network
- Sequence model
model.py - Spiking network
snn_PFC.py - Refractory SFA cell
lif_refrac_cell.py
Neural analysis
- Test recordings
main.py - Analysis tools
results_visualization.py - Analysis notebook
ResultsVisualization.ipynb
Other components
- Researcher
- TensorBoard
Connections 15
- Researcher → Experiment runner: starts run
- Experiment runner → Trial generation: creates trials
- Experiment runner → Model parameters: configures
- Experiment runner → Training and testing: runs epochs
- Training and testing → Trial generation: requests batches
- Training and testing → Sequence model: trains and evaluates
- Training and testing → Early stopping: checks stopping
- Training and testing → Model checkpoints: saves and loads
- Training and testing → Training metrics: records metrics
- Training metrics → TensorBoard: logs scalars
- Training and testing → Test recordings: saves neural data
- Sequence model → Spiking network: runs sequence
- Spiking network → Refractory SFA cell: steps recurrent cell
- Analysis tools → Test recordings: loads recordings
- Analysis notebook → Analysis tools: uses analysis