Skip to main content

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 requirements.txt:
This installs:
  • 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)
The requirements.txt has # cl-sdk and # torch commented out. Install these separately based on your hardware configuration.
3

Install PyTorch

Install PyTorch with CUDA support (or CPU-only):
The project was tested with Torch 2.10 and CUDA 13.0, but any compatible version should work. The exact version doesn’t matter much for this project.
Verify PyTorch installation:
4

Install CL SDK

Install the CL SDK for interfacing with CL1 hardware:
If you don’t have physical CL1 hardware, the SDK can run in simulation mode for testing the architecture.
Verify CL SDK installation:
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

The scenario is set via TrainingConfig.doom_config in code, not as a CLI argument.

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:
Docker support is experimental. The UDP communication between containers and host may require additional network configuration.

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:
You should see:
  1. VizDoom window opens (if --show_window is set)
  2. Training episodes start running
  3. Console output shows episode rewards
  4. No error messages about missing dependencies
Run with --device cpu first to ensure the pipeline works before switching to --device cuda.

Troubleshooting

VizDoom Import Error

Problem: ImportError: No module named 'vizdoom' Solution:
If this fails, you may need to install VizDoom dependencies:
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
Or train on CPU:

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:
  1. Verify CL1 interface is running first
  2. Check firewall allows UDP 12345-12348
  3. Verify IP addresses are correct
  4. Test network connectivity: ping <cl1-host>

Next Steps

Quickstart

Get your first training session running

Configuration

Tune hyperparameters and feedback settings