Installation
Complete installation guide for DOOM Neuron and all dependencies.System Requirements
Hardware
- CL1 Hardware: Required for biological neuron training (or CL SDK for testing)
- GPU: CUDA-capable GPU recommended for faster training (CPU works but slower)
- RAM: 8GB minimum, 16GB+ recommended
- Storage: 5GB for dependencies + checkpoints
Software
- Operating System: Linux (Ubuntu 20.04+ recommended), macOS, or WSL2 on Windows
- Python: 3.8 or higher
- CUDA: 11.0+ if using GPU acceleration (tested with CUDA 13.0)
Network (for distributed training)
- Bandwidth: Stable local network for CL1 ↔ Training Server communication
- Latency: Under 10ms recommended for real-time neural feedback
- Ports: UDP ports 12345-12348 must be accessible
Installation Steps
1
Create Python Environment
Create and activate a virtual environment:
Always activate this environment before running DOOM Neuron:
2
Install Core Dependencies
Install all required packages from This installs:
requirements.txt:- vizdoom==1.3.0.dev2 - DOOM game engine
- tables - HDF5 file support for neural data
- tensorboard==2.20.0 - Training visualization
- opencv-python - Image processing
- torch - PyTorch for neural networks
- cl-sdk - CL1 hardware interface (commented, install separately)
3
Install PyTorch
Install PyTorch with CUDA support (or CPU-only):Verify PyTorch installation:
4
Install CL SDK
Install the CL SDK for interfacing with CL1 hardware:Verify CL SDK installation:
If you don’t have physical CL1 hardware, the SDK can run in simulation mode for testing the architecture.
5
Verify VizDoom Installation
Test that VizDoom is correctly installed:VizDoom should display version
1.3.0.dev2.6
Verify All Dependencies
Run a comprehensive check:
Configuration Files
DOOM Neuron includes several scenario configuration files:Scenario Descriptions
Directory Structure
After installation, your project should look like:Environment Variables (Optional)
You can set these environment variables for convenience:~/.bashrc or ~/.zshrc
Docker Installation (Alternative)
For containerized deployment, use the provided Docker scripts:Network Configuration
For distributed training (CL1 on separate device), ensure firewall rules allow UDP traffic:Port Usage
Testing Installation
Verify everything works with a quick CPU-based test:- VizDoom window opens (if
--show_windowis set) - Training episodes start running
- Console output shows episode rewards
- No error messages about missing dependencies
Troubleshooting
VizDoom Import Error
Problem:ImportError: No module named 'vizdoom'
Solution:
Ubuntu/Debian
CL SDK Not Found
Problem:ImportError: No module named 'cl'
Solution:
CUDA Out of Memory
Problem:RuntimeError: CUDA out of memory
Solution: Reduce batch size in PPOConfig:
ppo_doom.py
UDP Port Already in Use
Problem:OSError: [Errno 48] Address already in use
Solution: Kill existing processes using the ports:
Network Timeout
Problem: Training server can’t connect to CL1 Solution:- Verify CL1 interface is running first
- Check firewall allows UDP 12345-12348
- Verify IP addresses are correct
- Test network connectivity:
ping <cl1-host>
Next Steps
Quickstart
Get your first training session running
Configuration
Tune hyperparameters and feedback settings