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.

SOEN Model Dynamic State Evolution

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 modeling
  • DoubleDendrite1/2 - Multi-junction configurations
  • ScalingLayer - Parameter scaling and normalization

Virtual Layers:

  • Standard RNN, LSTM, GRU components
  • MinGRU - Minimal gated recurrent unit
  • LeakyRNN - Leaky integration dynamics
  • InputLayer & 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

Ready to Get Started?

Explore the training configuration guide to understand how to set up your first SOEN experiment.

Start with Training Configuration →