Installation
June 21, 2026 ยท View on GitHub
Requirements
- Python >= 3.9
- uv (recommended for Python versions, virtualenv, and installs)
- PyTorch and TorchVision (see below)
- Pillow >= 9.0
Install from repository (Linux, CUDA 12.1)
From the project directory:
cd oriented-det
# Install uv if needed: https://docs.astral.sh/uv/getting-started/installation/
uv venv --python 3.12
source .venv/bin/activate
# PyTorch with CUDA 12.1 (2.3.0 or newer)
uv pip install "torch>=2.3.0" "torchvision>=0.18.0" --index-url https://download.pytorch.org/whl/cu121
# Project dependencies and editable install (includes huggingface_hub for Hub weights)
uv pip install -r requirements.txt
uv pip install -e .
PyTorch and TorchVision (other setups)
Follow the official PyTorch installation guide for your OS and CUDA/CPU setup.
For CPU-only:
uv pip install torch torchvision
macOS Apple Silicon (M1/M2/M3)
On Mac with Apple Silicon, install the default PyTorch build (no CUDA). PyTorch will use the MPS (Metal Performance Shaders) backend for GPU acceleration:
uv pip install torch torchvision
Then install oriented-det (see below). The library auto-detects MPS and uses the Apple GPU when available. If you hit mixed-precision (AMP) errors on older PyTorch, train with --no-amp. For best MPS and AMP support, use PyTorch 2.5 or newer.
Install OrientedDet (after PyTorch)
If you already cloned the repo and installed PyTorch (e.g. via the steps above or for macOS/CPU):
cd oriented-det
uv pip install -r requirements.txt
uv pip install -e .
From PyPI:
pip install oriented-det
For development and testing:
uv pip install -e ".[dev]"
This adds pytest, pytest-cov, black, and ruff.
Verify Installation
pytest tests/test_geometry.py tests/test_iou.py tests/test_nms.py
Or in Python:
import oriented_det
from oriented_det.geometry import RBox, Polygon
from oriented_det.ops import iou, nms
rbox = RBox(100, 200, 50, 30, 0.5)
print(f"RBox area: {rbox.area}")
box1 = RBox(0, 0, 10, 10, 0)
box2 = RBox(5, 5, 10, 10, 0)
overlap = iou.rbox_iou(box1, box2)
print(f"IoU: {overlap}")
Troubleshooting
Import Errors
If you encounter import errors, make sure:
- PyTorch is installed:
python -c "import torch; print(torch.__version__)" - TorchVision is installed:
python -c "import torchvision; print(torchvision.__version__)" - The package is installed:
uv pip list | grep oriented-det(orpip listif you used PyPI only)
GPU Support
GPU acceleration is used when available: CUDA (Linux/Windows) or MPS (macOS Apple Silicon). To check:
import torch
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"MPS (Apple Silicon) available: {getattr(torch.backends, 'mps', None) and torch.backends.mps.is_available()}")
Or use the helper:
from oriented_det.utils import get_device
print(get_device()) # e.g. device(type='mps') or device(type='cuda') or device(type='cpu')