UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
生産性・共同作業 · SKILL.md

pot

pot

Use POT/Python Optimal Transport for optimal-transport solvers, Wasserstein distances, Sinkhorn, Gromov-Wasserstein, barycenters, unbalanced or partial OT, domain adaptation, Gaussian/GMM and backend-aware scientific ML workflows.

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: pot description: "Use POT/Python Optimal Transport for optimal-transport solvers, Wasserstein distances, Sinkhorn, Gromov-Wasserstein, barycenters, unbalanced or partial OT, domain adaptation, Gaussian/GMM and backend-aware scientific ML workflows." disable-model-invocation: true metadata: disco-role: operating license: MIT

POT (Python Optimal Transport)

Use this repo skill when a task involves POT, the ot import package, optimal transport, Wasserstein distances, Sinkhorn solvers, transport plans, cost matrices, Gromov-Wasserstein, unbalanced or partial mass transport, barycenters, sliced/Gaussian/GMM OT, OT domain adaptation, or POT's NumPy/PyTorch/JAX/TensorFlow/CuPy backend behavior.

Start here

  1. Install or verify POT. The distribution is POT, but code imports ot.
  2. Run scripts/check_pot_install.py when you need a fast base-package check for import, compiled extensions, and a tiny NumPy solve.
  3. Read references/package-overview.md for package concepts, install routes, optional extras, and a solver-family map.
  4. Read references/troubleshooting.md for cross-cutting install/import, compiled-extension, optional-dependency, mixed-backend, and numerical-scale issues.
  5. Read references/repo-provenance.md before deciding whether this skill is current for a checkout.

Sub-skill routes

If the user asks about...Read
Exact OT, Wasserstein distance, ot.solve, ot.solve_sample, EMD/EMD2, Sinkhorn, cost matrices, 1D/circle/sparse/lazy solvers, or OTResultsub-skills/core-solvers/SKILL.md
Fixed-support or free-support barycenters, entropic/debiased/convolutional barycenters, or sample-cloud barycenterssub-skills/barycenters/SKILL.md
Gromov-Wasserstein, Fused GW, semirelaxed/partial/unbalanced/quantized GW, graph/relational alignment, GW barycenters, or GW dictionary learningsub-skills/gromov/SKILL.md
Unbalanced OT, partial OT, outlier mass, relaxed marginals, transported mass m, UOT barycenters, or regularization pathssub-skills/unbalanced-partial/SKILL.md
Sliced/max/spherical sliced Wasserstein, Gaussian/Bures/GMM OT, low-rank/factored/Nystroem/BSP/semidiscrete/SGOT/COOT/stochastic solvers, or large-scale approximation choicessub-skills/sliced-gaussian-large-scale/SKILL.md
OT domain adaptation estimators, mapping transport, source/target sample alignment, JCPOT, WDA/EWCA optional routes, or nearest Brenier potentialssub-skills/domain-adaptation/SKILL.md
NumPy/Torch/JAX/TensorFlow/CuPy backends, mixed-backend errors, optional backend checks, gradient modes, or batch OT solverssub-skills/backend-and-batch/SKILL.md

Minimal install and smoke check

pip install POT
python - <<'PY'
import ot
print(ot.__version__)
PY
python scripts/check_pot_install.py --json

The base install should support NumPy/SciPy workflows plus compiled extensions used by exact EMD, partial OT, and BSP-OT. Optional extras are task-specific; do not install POT[all] unless the user explicitly wants all optional packages and accepts licensing/runtime implications.

Solver-family decision hints

  • Use ot.solve(M, ...) when the user already has a cost matrix and wants a unified result object.
  • Use ot.solve_sample(Xs, Xt, ...) when the user has samples and wants POT to compute the cost matrix or choose sample-specific methods.
  • Use classical functions such as ot.emd, ot.emd2, ot.sinkhorn, and ot.sinkhorn2 when the user needs the historical API or a specific solver.
  • Use unbalanced or partial APIs when total mass should not be fully conserved.
  • Use GW/FGW APIs when source and target samples live in different spaces but have internal distance/feature structures.
  • Use sliced, Gaussian/GMM, low-rank, lazy, stochastic, semidiscrete, or batch routes before building huge dense cost/plan matrices.
  • Use optional backend routes only after the active environment verifies the corresponding framework.

Validation checklist

For every POT workflow, check:

  • Input arrays are finite, shaped as documented, and use one numerical backend per solver call.
  • Histograms are nonnegative and aligned with cost-matrix rows/columns.
  • Cost matrix scale matches the chosen reg, reg_m, tolerance, and approximation family.
  • Returned plans are finite, nonnegative within tolerance, and have expected shape/mass/marginals.
  • Result objects expose the values needed by the task (value, value_linear, value_quad, plan, potentials, X, b, or log).
  • Any optional backend, plotting, CVX, DR, GNN, or GeomLoss path is installed and verified in the environment that will run it.
保存したスキル