Marco Cuturi
We lifted 30 functions out of this paper's own repositories and ran 23 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| locuslab/projected_sinkhorn | — | 11 of 14 |
| Godofnothing/optimal_transport_problem | — | 7 of 9 |
| nicolasbolle/barycenters | — | 3 of 3 |
| fwilliams/fml | — | 1 of 1 |
| fwilliams/point-cloud-utils | — | 1 of 1 |
| IntelLabs/Optimized-Implementation-of-Word-Movers-Distance | pwc_unofficial | 0 of 2 |
| Function | Status | Where it lives |
|---|---|---|
| _bdot | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("96e8c4030f58cb9c") |
| _expand | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("c07b4486b58d651e") |
| _unfold | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("f7343c5b6de44ba1") |
| _uv_iteration | Ran | nicolasbolle/barycenters/bary.py code served (permissive licence) · get_code("ca496b363128dc4f") |
| bdot | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("5622291b1b88a13d") |
| collapse2 | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("0225f350ab8b1db2") |
| collapse3 | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("4c1add083f994c2f") |
| evalpoly | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("03349056db623470") |
| get_K | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("0566ec84bebafc5b") |
| lambertw | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("43d99be742579b90") |
| lamw | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("5973fe5d1dbccd26") |
| singularity_check_jax | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("6d8d47e99849d8a9") |
| singularity_check_numpy | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("928f50453e92f2a0") |
| singularity_check_torch | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("bf2e51370cdc69e8") |
| sinkhorn | Ran | fwilliams/fml/fml/functional.py code served (permissive licence) · get_code("f3e2495fbb139c89") |
| sinkhorn | Ran | nicolasbolle/barycenters/bary.py code served (permissive licence) · get_code("18b39009324da9d4") |
| sinkhorn | Ran | fwilliams/point-cloud-utils/point_cloud_utils/_sinkhorn.py code served (permissive licence) · get_code("79cdb3d17acfd5a1") |
| sinkhorn_knopp_jax | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("7a9d778ff56e1279") |
| sinkhorn_knopp_numpy | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("2a95e0b4e82f5730") |
| sinkhorn_knopp_torch | Ran | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("f9b4bdaf3b8d7d17") |
| sinkhorn_mk | Ran | nicolasbolle/barycenters/bary.py code served (permissive licence) · get_code("bc5921cd42953118") |
| unflatten2 | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("6bb08e5daa220306") |
| unsqueeze3 | Ran | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("4a7029914257601e") |
| _expand_filter | Not yet run | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("09f913366f4c1d94") |
| _mm | Not yet run | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("1187b4a8ad7f3d38") |
| docs2mat | Not yet run | IntelLabs/Optimized-Implementation-of-Word-Movers-Distance/prep.py code served (permissive licence) · get_code("b0862ba630f603cd") |
| load_vecs | Not yet run | IntelLabs/Optimized-Implementation-of-Word-Movers-Distance/prep.py code served (permissive licence) · get_code("4bd6c4ed02fbf4d1") |
| log_sinkhorn | Not yet run | locuslab/projected_sinkhorn/projected_sinkhorn/projected_sinkhorn.py pointer only (licence: NONE) · get_code("7ae919dd4ef56ab8") |
| sinkhorn_knopp | Not yet run | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("41dcc017865b1b37") |
| truncate_kernel | Not yet run | Godofnothing/optimal_transport_problem/src/sinkhorn.py pointer only (licence: NONE) · get_code("152965650d8abe5b") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Optimal transportation distances are a fundamental family of parameterized distances for histograms. Despite their appealing theoretical properties, excellent performance in retrieval tasks and intuitive formulation, their computation involves the resolution of a linear program whose cost is prohibitive whenever the histograms' dimension exceeds a few hundreds. We propose in this work a new family of optimal transportation distances that look at transportation problems from a maximum-entropy perspective. We smooth the classical optimal transportation problem with an entropic regularization term, and show that the resulting optimum is also a distance which can be computed through Sinkhorn-Knopp's matrix scaling algorithm at a speed that is several orders of magnitude faster than that of transportation solvers. We also report improved performance over classical optimal transportation distances on the MNIST benchmark problem.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("1306.0895")
get_code_for_paper("1306.0895")
have("1306.0895")
Connect an agent — have() is free.