Repository navigation
Installation
The released alpha requires Python 3.10 or newer, PyTorch 2.4 or newer and NumPy 1.22 or newer. Install PyTorch for your hardware using its installation guide, then install the pinned Exacta release:
python -m pip install exacta==0.0.1a5
python -c "import exacta; print(exacta.__version__)"Version 0.0.1a5 includes Linux x86-64 wheels for glibc 2.28 or newer. Python 3.10 and 3.11 have dedicated wheels; the Python 3.12 stable-ABI wheel supports Python 3.12 and newer.
Other platforms install from source, which builds the CPU extension and requires a C++17
compiler and Python development headers; OpenMP is optional. On Debian/Ubuntu, install
build-essential and development headers matching your Python interpreter.
CPU kernels are precompiled in wheels and compile during source installation. CUDA loss and metric kernels use Triton at runtime; their first invocation can include compilation. The CPU extension does not link against a specific PyTorch binary. Local validation covers Linux x86-64 CPU and NVIDIA CUDA execution; other hardware/platform combinations should be verified before use.
For Gloo distributed runs, use PyTorch 2.8 or newer. PyTorch 2.4.1 can deadlock during process-group destruction after collecting metric scores: a Gloo worker needs the Python GIL while the outer destructor holds it. PyTorch's 2.8 release notes include the destructor fix (#154976). Ordinary non-distributed CPU evaluation still supports PyTorch 2.4.
SciPy is needed for Hungarian lesion matching. MONAI, MedPy, VTK, SimpleITK and other reference libraries are used by optional validation tests; they are not needed for ordinary Dice or HD95 evaluation. The development guide describes test environments.
Use main to evaluate merged changes beyond the published release. Create a feature branch
from it when contributing. These pages describe version 0.0.1a5; a newer checkout may expose
additional APIs or changed behavior.
git clone --branch main https://github.com/rodolfo-viana/exacta.git
cd exacta
python -m pip install -e ".[test]"Record the commit SHA and environment alongside experiment results. Reinstall after changing C++ sources so the compiled extension matches the checkout.
Exacta documentation
- Home
- Installation
- Quickstart
- 2D medical segmentation
- Metrics
- Losses
- Advanced segmentation
- Conventions
- Lesion evaluation
- Performance
- Development
Version: 0.0.1a5.