One PyTorch toolbox to replace a shelf of MATLAB scripts
It corrals dozens of scattered image quality metrics into a single, GPU-accelerated PyTorch API so you can stop porting MATLAB scripts.

What it does
pyiqa is a comprehensive toolbox that reimplements popular full-reference (LPIPS, SSIM, FID) and no-reference (BRISQUE, NIQE, MUSIQ) image quality metrics in pure Python and PyTorch. It exposes them through a unified factory interface and can load official weights or custom checkpoints. The project also bundles dataset loaders and benchmark protocols to standardize evaluation.
The interesting bit
The maintainers calibrate their Python outputs against the original MATLAB implementations where possible, which is the boring part that matters: it means you can swap a metric into a training pipeline without silently shifting the numerical target. Several metrics can also flip into loss-function mode, though backpropagation support varies by model.
Key highlights
- Calibrated against official MATLAB scripts to keep scores consistent with published literature.
- GPU-accelerated implementations that the authors claim run much faster than their MATLAB counterparts.
- Unified API for both full-reference and no-reference metrics, with optional loss-function mode.
- Built-in dataset configs and Hugging Face integration for common IQA benchmarks.
- Active model zoo tracking recent methods like TOPIQ, MUSIQ, and QualiCLIP.
Caveats
- Not all metrics support gradient propagation; using one as a loss function requires checking
lower_betterand the Model Card first. - Weight loading has a quirk: checkpoints trained inside this package store weights under
weight_dict['params'], while external weights needweight_keys=None. - Datasets are aggregated for academic use, but licensing terms still belong to the original creators.
Verdict
Researchers and generative-model engineers who need rigorous, comparable image quality scores should look here. If you only need a quick PSNR one-liner, it is probably overkill.
Frequently asked
- What is chaofengc/IQA-PyTorch?
- It corrals dozens of scattered image quality metrics into a single, GPU-accelerated PyTorch API so you can stop porting MATLAB scripts.
- Is IQA-PyTorch open source?
- Yes — chaofengc/IQA-PyTorch is an open-source project tracked on heatdrop.
- What language is IQA-PyTorch written in?
- chaofengc/IQA-PyTorch is primarily written in Python.
- How popular is IQA-PyTorch?
- chaofengc/IQA-PyTorch has 3.3k stars on GitHub.
- Where can I find IQA-PyTorch?
- chaofengc/IQA-PyTorch is on GitHub at https://github.com/chaofengc/IQA-PyTorch.