SkillAgentSearch skills...

OptimalTransportNIPS17

Code for NIPS 2017 spotlight paper: "Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration" by Jason Altschuler, Jonathan Weed, and Philippe Rigollet. Full paper available at: https://papers.nips.cc/paper/6792-near-linear-time-approximation-algorithms-for-optimal-transport-via-sinkhorn-iteration.

Install / Use

/learn @JasonAltschuler/OptimalTransportNIPS17
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

##########################################################

Readme file for MATLAB code for NIPS 2017 paper:

"Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration"

-- Jason Altschuler, Jonathan Weed, Philippe Rigollet

##########################################################

Each MATLAB file has documentation inside of it. Here's a high-level overview.

-- NB: our focus writing this code was clarity over speed. Much further optimization can certainly be done.

-- NB: all references to our "paper" are to the revised NIPS 2017 version, i.e. "https://papers.nips.cc/paper/6792-near-linear-time-approximation-algorithms -for-optimal-transport-via-sinkhorn-iteration"

##########################################################

ALGORITHMS: -- sinkhorn.m: Implementation of classical Sinkhorn algorithm for matrix scaling. -- greenkhorn.m: Implementation of our new Greenkhorn algorithm for matrix scalng. -- compute_ot_lp.m: Compute optimal transport directly using a MATLAB linear program solver. -- round_transpoly.m: Implementation of our algorithm for rounding to transport polytope.

##########################################################

PLOTTING SCRIPTS: -- plot_matrixscaling.m: (Figure 2 in paper) Compares Sinkhorn vs Greenkhorn for matrix-scaling.

-- plot_varyingforeground.m: (LHS of Figure 3 in paper) Compares Sinkhorn vs Greenkhorn for matrix-scaling, when amount of "salient" data is varied.

-- plot_ot_smalleta.m: (RHS of Figure 3 in paper) Compares Sinkhorn vs Greenkhorn-based OT with small regularization parameter eta.

-- plot_ot_gcpb.m: (Figure 1 in supplement of paper) Compares Greenkhorn vs algorithm from [GCPB '16]

##########################################################

INPUT-GENERATION: all in 'input_generation/' sub-directory. Contains code creating OT instances out of images (either synthetically generated or MNIST).

View on GitHub
GitHub Stars31
CategoryDevelopment
Updated1y ago
Forks4

Languages

Matlab

Security Score

60/100

Audited on Dec 18, 2024

No findings