Installation¶
From PyPI¶
The package provides the high-level functions opendpd.train_pa, opendpd.train_dpd, opendpd.run_dpd,
opendpd.plot_dpd, opendpd.load_dataset and opendpd.create_dataset (see the API reference) and the
opendpd-cli entry point, which mirrors python main.py of the repository.
From source¶
The repository is the full research codebase: automation scripts, dataset tooling, quantization utilities and the reproducible baselines. Clone it and install it in editable mode once the environment below is ready:
Repository layout¶
.
├── backbones/ # Neural backbone implementations
├── bash_scripts/ # Batch experiment scripts (train_all_*.sh, quant_*.sh)
├── datasets/ # Built-in PA datasets (CSV + spec.json)
├── examples/ # API examples and tutorials
├── modules/ # Data pipeline, logging, and training utilities
├── opendpd/ # Python package exposing the high-level API
├── quant/ # Quantization-aware training components
├── steps/ # CLI entry points (train_pa, train_dpd, run_dpd)
├── tests/ # Pytest suite (unit + end-to-end smoke tests, run in CI)
├── utils/ # Miscellaneous helper functions
├── Makefile # Convenience targets (install, clean, etc.)
├── main.py # Legacy CLI entry mirrored by opendpd-cli
└── project.py # Core configuration & training orchestration
This project has been tested with PyTorch 2.6 and Ubuntu 24.04 LTS.
Setting Up Your Environment¶
We recommend using Miniconda for environment management:
# Install Miniconda (Linux)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
# For MacOS, use:
# wget https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
# Create a Python environment with required packages
conda create -n opendpd python=3.13 numpy scipy pandas matplotlib tqdm rich
conda activate opendpd
Installing PyTorch¶
For Linux or Windows systems:
-
With CPU only:
-
With NVIDIA GPU (CUDA 12.6):
Note: Ensure you have the latest NVIDIA GPU drivers installed to support CUDA 12.6
For macOS systems: