diff options
Diffstat (limited to 'docs/source/auto_examples/plot_OT_1D_smooth.py')
-rw-r--r-- | docs/source/auto_examples/plot_OT_1D_smooth.py | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/docs/source/auto_examples/plot_OT_1D_smooth.py b/docs/source/auto_examples/plot_OT_1D_smooth.py deleted file mode 100644 index b690751..0000000 --- a/docs/source/auto_examples/plot_OT_1D_smooth.py +++ /dev/null @@ -1,110 +0,0 @@ -# -*- coding: utf-8 -*- -""" -=========================== -1D smooth optimal transport -=========================== - -This example illustrates the computation of EMD, Sinkhorn and smooth OT plans -and their visualization. - -""" - -# Author: Remi Flamary <remi.flamary@unice.fr> -# -# License: MIT License - -import numpy as np -import matplotlib.pylab as pl -import ot -import ot.plot -from ot.datasets import make_1D_gauss as gauss - -############################################################################## -# Generate data -# ------------- - - -#%% parameters - -n = 100 # nb bins - -# bin positions -x = np.arange(n, dtype=np.float64) - -# Gaussian distributions -a = gauss(n, m=20, s=5) # m= mean, s= std -b = gauss(n, m=60, s=10) - -# loss matrix -M = ot.dist(x.reshape((n, 1)), x.reshape((n, 1))) -M /= M.max() - - -############################################################################## -# Plot distributions and loss matrix -# ---------------------------------- - -#%% plot the distributions - -pl.figure(1, figsize=(6.4, 3)) -pl.plot(x, a, 'b', label='Source distribution') -pl.plot(x, b, 'r', label='Target distribution') -pl.legend() - -#%% plot distributions and loss matrix - -pl.figure(2, figsize=(5, 5)) -ot.plot.plot1D_mat(a, b, M, 'Cost matrix M') - -############################################################################## -# Solve EMD -# --------- - - -#%% EMD - -G0 = ot.emd(a, b, M) - -pl.figure(3, figsize=(5, 5)) -ot.plot.plot1D_mat(a, b, G0, 'OT matrix G0') - -############################################################################## -# Solve Sinkhorn -# -------------- - - -#%% Sinkhorn - -lambd = 2e-3 -Gs = ot.sinkhorn(a, b, M, lambd, verbose=True) - -pl.figure(4, figsize=(5, 5)) -ot.plot.plot1D_mat(a, b, Gs, 'OT matrix Sinkhorn') - -pl.show() - -############################################################################## -# Solve Smooth OT -# -------------- - - -#%% Smooth OT with KL regularization - -lambd = 2e-3 -Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='kl') - -pl.figure(5, figsize=(5, 5)) -ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT KL reg.') - -pl.show() - - -#%% Smooth OT with KL regularization - -lambd = 1e-1 -Gsm = ot.smooth.smooth_ot_dual(a, b, M, lambd, reg_type='l2') - -pl.figure(6, figsize=(5, 5)) -ot.plot.plot1D_mat(a, b, Gsm, 'OT matrix Smooth OT l2 reg.') - -pl.show() |