# Create virtual environment
python -m venv venv
# Activate (Windows PowerShell)
.\venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txtpython test_setup.pyThis runs quick tests to ensure everything is installed correctly.
# Default training (2000 episodes)
python train.py
# Quick test (100 episodes)
python train.py --episodes 100
# Experiment with parameters
python train.py --episodes 3000 --cost-lambda 0.002 --gamma 0.98After training, check:
outputs/plots/training_curve.png- Learning progressoutputs/plots/policy_rollouts.png- Recommended actions per stateoutputs/plots/action_distribution.png- Action frequency analysisoutputs/validation_report.txt- Comprehensive statistics
python train.py --validate-only --model-path outputs/models/best_model.pt- 100 episodes: ~1 minute
- 2000 episodes: ~10-15 minutes (CPU)
- 3000 episodes: ~20-30 minutes (CPU)
GPU training will be faster if CUDA is available.
pip install --upgrade pip
pip install -r requirements.txtEnsure config.yaml uses spaces (not tabs) for indentation.
- Reduce
--episodesfor testing - Use smaller
batch_sizeinconfig.yaml - Enable CUDA if available: set
device: "cuda"in config
- Sensitivity analysis: Test different
cost_lambdavalues - Longer horizons: Increase
horizon_yearsin config - State enrichment: Extend state space with age, traffic, etc.
- Portfolio: Adapt for multi-bridge scenarios
- Constraints: Add budget caps via action masking