Quickstart Guide
Get a DOOM Neuron training session running in under 10 minutes.This guide assumes you have CL1 hardware available. For SDK-based testing, use the convenience scripts in
scripts/run_sdk_*.sh.Prerequisites
- Python 3.8+
- CUDA-capable GPU (recommended) or CPU
- CL1 hardware or CL SDK for testing
- Network access between training server and CL1 device
Installation
Training Architecture
DOOM Neuron uses a distributed architecture with two components:- CL1 Neural Interface - Runs on the CL1 device, handles stimulation and spike recording
- Training Server - Runs the PPO training loop, manages the game environment
Quick Start: Local Training
For local development on the same machine:Quick Start: Remote Training
For training with CL1 on a separate device:Network Ports
Ensure these UDP ports are open:- 12345 - Stimulation commands (training → CL1)
- 12346 - Spike data (CL1 → training)
- 12347 - Event metadata (training → CL1)
- 12348 - Feedback commands (training → CL1)
Convenience Scripts
The project includes convenience scripts for common workflows:Monitoring Training
Watch TensorBoard
Training metrics are logged to TensorBoard:Open
http://localhost:6006 in your browser to see:- Episode rewards
- Loss curves (policy, value, encoder entropy)
- Action distributions
- Decoder weight/bias ratios
Understanding the Output
Training Server Output
- Reward: Total episode reward (game rewards + custom shaping)
- Length: Number of timesteps before episode ended
- Kills: Enemy kills in the episode
Checkpoints
Model checkpoints are saved every 100 episodes to:First Training Session
Let’s run a simple training session:Common Training Patterns
Resume from Checkpoint
Watch Trained Policy
Show Game Window (Debug)
Custom Recording Path
Stopping Training
PressCtrl+C in either terminal to gracefully shutdown:
- Training server sends completion signal
- CL1 interface saves recording and exits
- Both processes cleanup sockets
Output Files
Training Server
checkpoints/episode_*.pt- Model checkpointscheckpoints/l5_2048_rand/logs/- TensorBoard logstraining_log.jsonl- Episode statistics
CL1 Interface
<recording_path>/*.cl1- Neural recordings with metadata
Next Steps
Configuration
Tune PPO hyperparameters and feedback settings
Scenarios
Explore different DOOM scenarios and curriculum learning
Architecture
Deep dive into the encoder-decoder pipeline
Troubleshooting
Common issues and solutions