SOEN Toolkit
Superconducting Optoelectronic Network Simulation Framework
A neural network simulation framework based on the foundational "Optoelectronic Intelligence" work by Jeffrey M. Shainline at NIST, implementing superconducting loop neurons and photonic communication for brain-scale artificial intelligence.
Dynamic evolution of SOEN neural network states during training
What is SOEN Toolkit?
SOEN-Toolkit is a python modelling framework that simulates superconducting optoelectronic networks using PyTorch. It allows users to design their own SOEN mdoels for training and testing.
Key Features
- 🔬 Physical Modeling: Realistic simulation of superconducting parameters (phase φ, conductance g, bias current, Josephson junctions)
- 🧠 Hybrid Architecture: Combines physical SOEN layers with virtual neural network components
- ⚡ PyTorch Lightning: Full training framework with advanced logging, callbacks, and experiment management
- 🎛️ YAML Configuration: Comprehensive configuration system for experiments
- 📊 Rich Visualization: Built-in tools for analyzing model behavior and training metrics. Logs are stored using tensorboard and so can be viewed using the TensorBoard built-in GUI
- 🖥️ GUI Tools: Interactive interfaces for model creation and physical parameter mapping
Layer Types
Physical SOEN Layers:
SingleDendrite- Single dendritic junction modelingDoubleDendrite1/2- Multi-junction configurationsScalingLayer- Parameter scaling and normalization
Virtual Layers:
- Standard RNN, LSTM, GRU components
MinGRU- Minimal gated recurrent unitLeakyRNN- Leaky integration dynamicsInputLayer&ClassifierLayer- I/O handling
Quick Start
# Install the package
git clone https://github.com/greatsky-ai/soen-toolkit
cd soen_toolkit
uv pip install -e ".[gui]"
# Run a training experiment
python -m soen_sim_v2.training.examples.run_trial --config path/to/config.yaml
For complete setup instructions, see the GitHub repository.
Or explore the Interactive Training Configuration Guide to understand all configuration options.
Explore the Documentation
Training Configuration
Interactive guide to training parameters, loss functions, and experiment setup.
Model Architecture
Deep dive into SOEN layers, connections, and network topology.
API Reference
Complete API documentation for classes, methods, and functions.
Examples & Tutorials
Step-by-step tutorials and example configurations for common use cases.
GUI Tools
Interactive tools for model creation and parameter visualization.
Physical Modeling
Understanding superconducting physics, noise models, and device parameters.
Ready to Get Started?
Explore the training configuration guide to understand how to set up your first SOEN experiment.
Start with Training Configuration →