geomloss
Geometric loss functions between point clouds, images and volumes.
Decision gist · record as of 2026-08-14
Yes, if you are working with PyTorch and need geometric or optimal-transport-based loss functions. The pre-alpha status and recent maintenance suggest active development; the low install friction and permissive license make it a low-risk addition. Install only if you have a specific use case for optimal transport or kernel-based metrics—it is not a general-purpose library.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires PyTorch (torch) to be installed; geomloss itself does not bundle it.
- Minimum Python 3.8.
- Low install friction with a pure-Python wheel.
License · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-05-05 (101 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 158,195 downloads/mo, #10,731 on PyPI
Alternatives
Verify before relying
pip install geomloss
import geomloss
# Compute loss between two point clouds using torch tensors
loss = geomloss.SamplesLoss("sinkhorn")
result = loss(cloud_a, cloud_b)- Whether the package provides pre-built GPU kernels or relies entirely on PyTorch's backend.
- Performance characteristics and scalability limits for large point clouds or high-dimensional data.
- Availability and quality of documentation beyond the project website.
What it is and what it does
Geomloss implements geometric loss functions for comparing structured data like point clouds, images, and volumetric data using optimal transport theory and kernel methods. It wraps PyTorch tensors to compute distances and divergences between distributions, making it useful for tasks that need differentiable, geometrically meaningful loss metrics rather than standard Euclidean or statistical measures.
The package is designed for machine learning and scientific computing workflows where you need to optimize over geometric structures. It depends on numpy, scipy, and torch, so it integrates naturally into PyTorch-based pipelines. The code is marked pre-alpha but actively maintained, indicating it is still evolving but usable for research and production work.
Use it for
- Training generative models (GANs, VAEs) with geometric loss instead of pixel-space or feature-space losses.
- Comparing 3D point clouds in computer vision or robotics applications.
- Computing optimal transport distances between probability measures in statistical learning.
- Shape matching and registration tasks in medical imaging or geometry processing.
- Differentiable metric learning where standard distances are too rigid.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working with PyTorch and need geometric or optimal-transport-based loss functions.
The pre-alpha status and recent maintenance suggest active development; the low install friction and permissive license make it a low-risk addition. Install only if you have a specific use case for optimal transport or kernel-based metrics—it is not a general-purpose library.
Install
geomloss on PyPI
Before you install
Low install friction with a pure-Python wheel. Marked pre-alpha (Development Status 2) but actively maintained with a recent release. Depends on numpy, scipy, and torch, which are standard scientific Python packages.
Requires PyTorch (torch) to be installed; geomloss itself does not bundle it. Minimum Python 3.8.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install geomloss
import geomloss
# Compute loss between two point clouds using torch tensors
loss = geomloss.SamplesLoss("sinkhorn")
result = loss(cloud_a, cloud_b)
Verify before relying
- Whether the package provides pre-built GPU kernels or relies entirely on PyTorch's backend.
- Performance characteristics and scalability limits for large point clouds or high-dimensional data.
- Availability and quality of documentation beyond the project website.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesnumpyscipytorch |
| Maintenance | Actively maintained 101 days since the last release |
| First released | |
| Downloads | 158,195 / month, #10,731 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyTopic :: Scientific/Engineering |
Evidence: geomloss-0.3.1-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 › “optimal transport loss functions”
- geomlossComputes geometric loss functions for comparing point clouds, images,…
- POTPOT provides solvers for optimal transport problems, including…
- ott-jaxOTT-JAX solves optimal transport problems—matching and comparing…
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 ott-jax · POT · torch-stoi · pytorch-metric-learning · imbalance-xgboost · liger-kernel · pytorch-msssim