All Projects → JuliaOptimalTransport → OptimalTransport.jl

JuliaOptimalTransport / OptimalTransport.jl

Licence: MIT License
Optimal transport algorithms for Julia

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to OptimalTransport.jl

tungsten
Bring fusion to everyone
Stars: ✭ 13 (-79.69%)
Mutual labels:  optimization
RAWSim-O
A simulation framework for Robotic Mobile Fulfillment Systems
Stars: ✭ 82 (+28.13%)
Mutual labels:  optimization
least-squares-cpp
A single header-only C++ library for least squares fitting.
Stars: ✭ 46 (-28.12%)
Mutual labels:  optimization
yarrow
[yarrow] JVMCI based optimizing compiler for HotSpot VM
Stars: ✭ 21 (-67.19%)
Mutual labels:  optimization
pytorch
Improved LBFGS optimizer in PyTorch.
Stars: ✭ 16 (-75%)
Mutual labels:  optimization
Train plus plus
Repo and code of the IEEE UIC paper: Train++: An Incremental ML Model Training Algorithm to Create Self-Learning IoT Devices
Stars: ✭ 17 (-73.44%)
Mutual labels:  optimization
yoga-image-optimizer
A graphical tool to convert and optimize JPEG, PNG and WebP images (based on YOGA)
Stars: ✭ 85 (+32.81%)
Mutual labels:  optimization
RBP
Recurrent Back Propagation, Back Propagation Through Optimization, ICML 2018
Stars: ✭ 35 (-45.31%)
Mutual labels:  optimization
olympus
Olympus: a benchmarking framework for noisy optimization and experiment planning
Stars: ✭ 38 (-40.62%)
Mutual labels:  optimization
simsopt
Simons Stellarator Optimizer Code
Stars: ✭ 28 (-56.25%)
Mutual labels:  optimization
Network-Distributed-Algorithm
Experiments for distributed optimization algorithms
Stars: ✭ 29 (-54.69%)
Mutual labels:  optimization
Max-value-Entropy-Search
Max-value Entropy Search for Efficient Bayesian Optimization
Stars: ✭ 43 (-32.81%)
Mutual labels:  optimization
NCVX
NCVX: A User-Friendly and Scalable Package for Nonconvex Optimization in Machine Learning
Stars: ✭ 19 (-70.31%)
Mutual labels:  optimization
autogoal
A Python framework for program synthesis with a focus on Automated Machine Learning.
Stars: ✭ 153 (+139.06%)
Mutual labels:  optimization
PEPit
PEPit is a package enabling computer-assisted worst-case analyses of first-order optimization methods.
Stars: ✭ 41 (-35.94%)
Mutual labels:  optimization
eqsat
A language-generic implementation of equality saturation in Haskell
Stars: ✭ 15 (-76.56%)
Mutual labels:  optimization
osqp
The Operator Splitting QP Solver
Stars: ✭ 929 (+1351.56%)
Mutual labels:  optimization
scipydirect
Python wrapper to the DIRECT global optimization algorithm with scipy.optimize compatible call syntax
Stars: ✭ 26 (-59.37%)
Mutual labels:  optimization
elm-prepack-experiments
Experimenting with running built Elm programs through Prepack
Stars: ✭ 18 (-71.87%)
Mutual labels:  optimization
OpenJij
OpenJij : Framework for the Ising model and QUBO.
Stars: ✭ 57 (-10.94%)
Mutual labels:  optimization

OptimalTransport.jl

CI GPU tests DOI Codecov Coveralls Code Style: Blue

This package provides some Julia implementations of algorithms for computational optimal transport, including the Earth-Mover's (Wasserstein) distance, Sinkhorn algorithm for entropically regularized optimal transport as well as some variants or extensions.

Notably, OptimalTransport.jl provides GPU acceleration through CUDA.jl and NNlibCUDA.jl.

This package is inspired by the Python Optimal Transport package.

Example

using OptimalTransport
using Distances

# uniform histograms
μ = fill(1/250, 250)
ν = fill(1/200, 200)

# random cost matrix
C = pairwise(SqEuclidean(), rand(1, 250), rand(1, 200); dims=2)

# regularization parameter
ε = 0.01

# solve entropically regularized optimal transport problem
sinkhorn(μ, ν, C, ε)

Please see the documentation pages for further information.

Related packages

Contributing

Contributions are more than welcome! Please feel free to submit an issue or pull request in this repository.

Acknowledgements

Contributors include:

  • Tim Matsumoto (UBC)
  • David Widmann (Uppsala)
  • Davi Barreira (FGV)
  • Stephen Zhang (UBC)

References

  • Peyré, G. and Cuturi, M., 2019. Computational optimal transport. Foundations and Trends® in Machine Learning, 11(5-6), pp.355-607.
  • Lorenz, D.A., Manns, P. and Meyer, C., 2019. Quadratically regularized optimal transport. Applied Mathematics & Optimization, pp.1-31.
  • Rémi Flamary and Nicolas Courty, POT Python Optimal Transport library, https://pythonot.github.io/, 2017
  • Chizat, L., Peyré, G., Schmitzer, B. and Vialard, F.X., 2016. Scaling algorithms for unbalanced transport problems. arXiv preprint arXiv:1607.05816.
  • Schmitzer, B., 2019. Stabilized sparse scaling algorithms for entropy regularized transport problems. SIAM Journal on Scientific Computing, 41(3), pp.A1443-A1481.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].