pyiqa
PyTorch Toolbox for Image Quality Assessment
Decision gist · record as of 2026-08-14
Yes, with conditions. Install if you need image quality metrics for research or non-commercial work and have GPU resources available. The noncommercial license is a hard blocker for any commercial use. The heavy dependency tree (torch, transformers, vision libraries) means substantial first-install time, but low friction once resolved. Active maintenance and no known vulnerabilities are positive signals. Not suitable if you need commercial licensing or minimal dependencies.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires PyTorch and torchvision; GPU strongly recommended for practical use.
- Model weights download automatically to ~/.cache/torch/hub/pyiqa/ on first run.
- Low friction installation with a pure-Python wheel.
License · maintenance · safety
PolyForm-Noncommercial-1.0.0 (noncommercial) — Licensed under PolyForm-Noncommercial-1.0.0: noncommercial use only. You cannot use this package in commercial products, services, or for-profit applications without explicit permission from the licensor.
last release 2026-07-08 (37 days) · last repo commit 2026-07-08 · 3,363 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 464,346 downloads/mo, #6,517 on PyPI
Alternatives
Verify before relying
pip install pyiqa
import pyiqa
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
metric = pyiqa.create_metric('lpips', device=device)
score = metric(img_tensor_x, img_tensor_y) # (N, 3, H, W) tensors, RGB, 0~1- Whether all 27 listed runtime dependencies are strictly required or only needed for specific metrics.
- Performance comparison claims ('much faster than Matlab counterparts') lack quantitative benchmarks in the excerpt.
- Exact model count and which metrics support backpropagation as loss functions.
What it is and what it does
PyIQA is a PyTorch-based image quality assessment toolbox that reimplements widely-used full-reference (FR) and no-reference (NR) IQA metrics with results calibrated against official MATLAB implementations. It provides GPU-accelerated computation, making these metrics substantially faster than their MATLAB counterparts. The package includes modern metrics like LPIPS, BRISQUE, SSIM variants, and recent additions like Q-ReAlign and MACLIP, plus support for FID and other generative-model evaluation metrics.
You can use it as a command-line tool to score images, as a Python library to compute metrics on tensors or image paths, or as a loss function for training neural networks (with gradient support for compatible metrics). It also includes utilities to load popular IQA datasets (KONIQ-10k, CSIQ, etc.) from Hugging Face with automatic downloading and splitting.
Use it for
- Evaluate perceptual quality of generated or compressed images in research or benchmarking workflows.
- Use as a differentiable loss function to train image generation or enhancement models.
- Batch-score large image collections against reference images using GPU acceleration.
- Compare image quality across multiple metrics (FR and NR) in a unified interface.
- Load and evaluate models on standard IQA datasets with built-in train/test splitting.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Install if you need image quality metrics for research or non-commercial work and have GPU resources available. The noncommercial license is a hard blocker for any commercial use. The heavy dependency tree (torch, transformers, vision libraries) means substantial first-install time, but low friction once resolved. Active maintenance and no known vulnerabilities are positive signals. Not suitable if you need commercial licensing or minimal dependencies.
Install
pyiqa on PyPI
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with recent releases (37 days old), 3363 GitHub stars, and no known vulnerabilities. Heavy dependency tree (27 runtime packages including torch, transformers, and vision libraries) means first install will be substantial but straightforward.
Requires PyTorch and torchvision; GPU strongly recommended for practical use. Model weights download automatically to ~/.cache/torch/hub/pyiqa/ on first run.
License in practice
Licensed under PolyForm-Noncommercial-1.0.0: noncommercial use only. You cannot use this package in commercial products, services, or for-profit applications without explicit permission from the licensor.
Quickstart
pip install pyiqa
import pyiqa
import torch
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
metric = pyiqa.create_metric('lpips', device=device)
score = metric(img_tensor_x, img_tensor_y) # (N, 3, H, W) tensors, RGB, 0~1
Verify before relying
- Whether all 27 listed runtime dependencies are strictly required or only needed for specific metrics.
- Performance comparison claims ('much faster than Matlab counterparts') lack quantitative benchmarks in the excerpt.
- Exact model count and which metrics support backpropagation as loss functions.
Package facts
| License | PolyForm-Noncommercial-1.0.0 noncommercial |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 27 packagesaccelerateaddictdatasetsbitsandbyteseinopsfacexlibfuturenumpyopenai-clipopencv-python-headlesspandasPillowpre-commitpytestpyyamlrequestsruffscikit-imagescipysentencepiecetensorboardtimmtorchtorchvisiontqdmtransformersyapf |
| Maintenance | Actively maintained 37 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 464,346 / month, #6,517 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Image Processing |
Evidence: pyiqa-0.1.16-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “image quality assessment metrics”
- pyiqaPyIQA provides a PyTorch-based toolbox for computing image quality…
- piqPIQ provides a collection of image quality metrics and measures—both…
- image-similarity-measuresComputes eight standard image similarity metrics (RMSE, PSNR, SSIM,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also piq · lpips · clean-fid · image-similarity-measures · pytorch-fid · fairlearn · timm · torch · pytorch-metric-learning · resize-right