From 544e374f6e6ee7236561508038924b3f23f313fc Mon Sep 17 00:00:00 2001 From: Michal Klein <46717574+michalk8@users.noreply.github.com> Date: Wed, 15 Mar 2023 09:50:07 +0100 Subject: [PATCH 1/5] Remove `jit` argument from solvers --- src/ott/solvers/linear/continuous_barycenter.py | 3 +-- src/ott/solvers/linear/sinkhorn.py | 6 +----- src/ott/solvers/linear/sinkhorn_lr.py | 3 +-- src/ott/solvers/quadratic/gromov_wasserstein.py | 3 +-- src/ott/solvers/quadratic/gw_barycenter.py | 6 +----- src/ott/solvers/was_solver.py | 3 --- 6 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/ott/solvers/linear/continuous_barycenter.py b/src/ott/solvers/linear/continuous_barycenter.py index 130b1575e..a1a9373c6 100644 --- a/src/ott/solvers/linear/continuous_barycenter.py +++ b/src/ott/solvers/linear/continuous_barycenter.py @@ -138,8 +138,7 @@ def __call__( # noqa: D102 rng: jax.random.PRNGKeyArray = jax.random.PRNGKey(0) ) -> FreeBarycenterState: # TODO(michalk8): no reason for iterations to be outside this class - run_fn = jax.jit(iterations, static_argnums=1) if self.jit else iterations - return run_fn(self, bar_size, bar_prob, x_init, rng) + return iterations(self, bar_size, bar_prob, x_init, rng) def init_state( self, diff --git a/src/ott/solvers/linear/sinkhorn.py b/src/ott/solvers/linear/sinkhorn.py index 595673dd4..3996f01db 100644 --- a/src/ott/solvers/linear/sinkhorn.py +++ b/src/ott/solvers/linear/sinkhorn.py @@ -683,7 +683,6 @@ class Sinkhorn: gradients have been stopped. This is useful when carrying out first order differentiation, and is only valid (as with ``implicit_differentiation``) when the algorithm has converged with a low tolerance. - jit: Whether to jit the iteration loop. initializer: how to compute the initial potentials/scalings. progress_fn: callback function which gets called during the Sinkhorn iterations, so the user can display the error at each iteration, @@ -705,7 +704,6 @@ def __init__( parallel_dual_updates: bool = False, recenter_potentials: bool = False, use_danskin: Optional[bool] = None, - jit: bool = True, implicit_diff: Optional[implicit_lib.ImplicitDiff ] = implicit_lib.ImplicitDiff(), # noqa: B008 initializer: Union[Literal["default", "gaussian", "sorting", "subsample"], @@ -721,7 +719,6 @@ def __init__( self._norm_error = norm_error self.anderson = anderson self.implicit_diff = implicit_diff - self.jit = jit if momentum is not None: self.momentum = acceleration.Momentum( @@ -781,8 +778,7 @@ def __call__( init_dual_a, init_dual_b = initializer( ot_prob, *init, lse_mode=self.lse_mode, rng=rng ) - run_fn = jax.jit(run) if self.jit else run - return run_fn(ot_prob, self, (init_dual_a, init_dual_b)) + return run(ot_prob, self, (init_dual_a, init_dual_b)) def lse_step( self, ot_prob: linear_problem.LinearProblem, state: SinkhornState, diff --git a/src/ott/solvers/linear/sinkhorn_lr.py b/src/ott/solvers/linear/sinkhorn_lr.py index 87fbac10b..c3f13f53d 100644 --- a/src/ott/solvers/linear/sinkhorn_lr.py +++ b/src/ott/solvers/linear/sinkhorn_lr.py @@ -338,8 +338,7 @@ def __call__( assert ot_prob.is_balanced, "Unbalanced case is not implemented." initializer = self.create_initializer(ot_prob) init = initializer(ot_prob, *init, rng=rng, **kwargs) - run_fn = jax.jit(run) if self.jit else run - return run_fn(ot_prob, self, init) + return run(ot_prob, self, init) def _lr_costs( self, diff --git a/src/ott/solvers/quadratic/gromov_wasserstein.py b/src/ott/solvers/quadratic/gromov_wasserstein.py index b7ccae4a8..cd1df24f5 100644 --- a/src/ott/solvers/quadratic/gromov_wasserstein.py +++ b/src/ott/solvers/quadratic/gromov_wasserstein.py @@ -215,8 +215,7 @@ def __call__( initializer = self.create_initializer(prob) init = initializer(prob, epsilon=self.epsilon, rng=rng1, **kwargs) - run_fn = jax.jit(iterations) if self.jit else iterations - out = run_fn(self, prob, init, rng2) + out = iterations(self, prob, init, rng2) # TODO(lpapaxanthos): remove stop_gradient when using backprop if self.is_low_rank: linearization = prob.update_lr_linearization( diff --git a/src/ott/solvers/quadratic/gw_barycenter.py b/src/ott/solvers/quadratic/gw_barycenter.py index 7a38e4dbb..c47d073d6 100644 --- a/src/ott/solvers/quadratic/gw_barycenter.py +++ b/src/ott/solvers/quadratic/gw_barycenter.py @@ -63,7 +63,6 @@ class GromovWassersteinBarycenter(was_solver.WassersteinSolver): min_iterations: Minimum number of iterations. max_iterations: Maximum number of outermost iterations. threshold: Convergence threshold. - jit: Whether to jit the iteration loop. store_inner_errors: Whether to store the errors of the GW solver, as well as its linear solver, at each iteration for each measure. quad_solver: The GW solver. @@ -78,7 +77,6 @@ def __init__( min_iterations: int = 5, max_iterations: int = 50, threshold: float = 1e-3, - jit: bool = True, store_inner_errors: bool = False, quad_solver: Optional[gromov_wasserstein.GromovWasserstein] = None, # TODO(michalk8): maintain the API compatibility with `was_solver` @@ -93,7 +91,6 @@ def __init__( max_iterations=max_iterations, threshold=threshold, store_inner_errors=store_inner_errors, - jit=jit, ) if quad_solver is None: kwargs["epsilon"] = epsilon @@ -118,8 +115,7 @@ def __call__( The solution. """ state = self.init_state(problem, bar_size, **kwargs) - run_fn = jax.jit(iterations) if self.jit else iterations - state = run_fn(self, problem, state) + state = iterations(self, problem, state) return self.output_from_state(state) def init_state( diff --git a/src/ott/solvers/was_solver.py b/src/ott/solvers/was_solver.py index 0943d383e..573038033 100644 --- a/src/ott/solvers/was_solver.py +++ b/src/ott/solvers/was_solver.py @@ -39,7 +39,6 @@ def __init__( min_iterations: int = 5, max_iterations: int = 50, threshold: float = 1e-3, - jit: bool = True, store_inner_errors: bool = False, **kwargs: Any, ): @@ -73,7 +72,6 @@ def __init__( self.min_iterations = min_iterations self.max_iterations = max_iterations self.threshold = threshold - self.jit = jit self.store_inner_errors = store_inner_errors self._kwargs = kwargs @@ -87,7 +85,6 @@ def tree_flatten(self) -> Tuple[Sequence[Any], Dict[str, Any]]: # noqa: D102 "min_iterations": self.min_iterations, "max_iterations": self.max_iterations, "rank": self.rank, - "jit": self.jit, "store_inner_errors": self.store_inner_errors, **self._kwargs }) From 83ec3ef2a482e5a942b00360e40869825fec7b8a Mon Sep 17 00:00:00 2001 From: Michal Klein <46717574+michalk8@users.noreply.github.com> Date: Wed, 15 Mar 2023 10:13:16 +0100 Subject: [PATCH 2/5] Add banner --- docs/conf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index ce604e50c..aa596def1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -144,12 +144,14 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] html_theme_options = { + "announcement": + "In 0.4.1, the jit argument in solvers will be " + "removed. Please jit the solvers explicitly", "repository_url": "https://github.com/ott-jax/ott", "repository_branch": "main", "path_to_docs": "docs/", "use_repository_button": True, "use_fullscreen_button": False, - "logo_only": True, "launch_buttons": { "colab_url": "https://colab.research.google.com", "binderhub_url": "https://mybinder.org", From 8b45b96a7e0efc55fc4baf1988a210859a692c1f Mon Sep 17 00:00:00 2001 From: Michal Klein <46717574+michalk8@users.noreply.github.com> Date: Wed, 15 Mar 2023 10:37:37 +0100 Subject: [PATCH 3/5] Polish Getting Started tutorial --- docs/conf.py | 2 +- docs/index.rst | 2 +- .../notebooks/basic_ot_between_datasets.ipynb | 99 +++++++------------ 3 files changed, 39 insertions(+), 64 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index aa596def1..6411745c7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -146,7 +146,7 @@ html_theme_options = { "announcement": "In 0.4.1, the jit argument in solvers will be " - "removed. Please jit the solvers explicitly", + "removed. Please jit the solvers explicitly.", "repository_url": "https://github.com/ott-jax/ott", "repository_branch": "main", "path_to_docs": "docs/", diff --git a/docs/index.rst b/docs/index.rst index d3feabcca..9adf88368 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -86,7 +86,7 @@ Packages between GMMs, or computing differentiable sort and quantile operations :cite:`cuturi:19`. - :mod:`ott.math` holds low-level mathematical primitives. -- :mod:`ott.utils` provides misc helper functions +- :mod:`ott.utils` provides misc helper functions. .. toctree:: :maxdepth: 1 diff --git a/docs/tutorials/notebooks/basic_ot_between_datasets.ipynb b/docs/tutorials/notebooks/basic_ot_between_datasets.ipynb index 8978386e6..3ce57c822 100644 --- a/docs/tutorials/notebooks/basic_ot_between_datasets.ipynb +++ b/docs/tutorials/notebooks/basic_ot_between_datasets.ipynb @@ -1,34 +1,30 @@ { "cells": [ { - "attachments": {}, "cell_type": "markdown", "id": "de2405cc", "metadata": {}, "source": [ "# Getting Started\n", "\n", - "This short tutorial covers a basic use case for `OTT`:\n", + "This short tutorial covers a basic use case for {mod}`ott`:\n", "\n", "- Compute a optimal transport distance between two point clouds using the {class}`~ott.geometry.point_cloud.PointCloud` geometry, solved using the {class}`~ott.solvers.linear.sinkhorn.Sinkhorn` algorithm. \n", "- Showcase the seamless integration with `JAX`, to differentiate through that cost and plot the gradient flow to morph the first point cloud into the second." ] }, { - "attachments": {}, "cell_type": "markdown", "id": "e023f962", "metadata": {}, "source": [ - "## Imports and toy data definition\n", - "\n", - "`OTT` is built on top of `JAX`, so we use `JAX` to instantiate all variables." + "## Imports and toy data definition" ] }, { "cell_type": "code", "execution_count": 1, - "id": "64101733", + "id": "a5a532c0", "metadata": {}, "outputs": [], "source": [ @@ -41,21 +37,25 @@ { "cell_type": "code", "execution_count": 2, - "id": "09ea40f5", + "id": "cc5a604d", "metadata": {}, "outputs": [], "source": [ "import jax\n", - "import jax.numpy as jnp" + "import jax.numpy as jnp\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from ott.geometry import pointcloud\n", + "from ott.solvers.linear import sinkhorn" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "7d97950d", "metadata": {}, "source": [ - "We generate randomly two 2D point clouds of `7` and `11` points respectively, and store them in variables `x` and `y` as matrices:" + "{mod}`ott` is built on top of `JAX`, so we use `JAX` to instantiate all variables. We generate two 2-dimensional random point clouds of $7$ and $11$ points, respectively, and store them in variables `x` and `y`:" ] }, { @@ -75,12 +75,11 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "082158c3", "metadata": {}, "source": [ - "Because these point clouds are 2D dimensional, we can use scatter plots to illustrate them" + "Because these point clouds are 2-dimensional, we can use scatter plots to illustrate them." ] }, { @@ -91,7 +90,7 @@ "outputs": [ { "data": { - "image/png": "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Hrzzzjv69a9/reLi4rPWczZXXXWV1qxZ47//8ssv69ChQ1q8ePE5/jbOHQEfANCjZWdn69GCAs194AE5nU55PB7ZbDY5HA7G3ANd8M/9JQYF1H7i8FSt2LFfTqdTeXl5Qa3tww8/1GOPPaadO3eqpqbGf+X+4MGD/oA/evToNn1cLpeam5s1ZswY/zG73a6hQ4f671dWVsrr9WrixIlt+p46dUqjRo3qUo1XXXWVFi1apJMnTyoqKkqPPPKIfvzjH+uCCy7o0vN0BwI+AMAUkpKSgh4yADOL5P0lpkyZoksuuUQvvPCCBgwYoNbWVl1++eVtJtOeyzK4J0+elCRt3rxZF110UZvHEhISuvRco0ePVnR0tHbv3q033nhD/fr108yZM7tcU3cg4AMAACBi9peIj4+Xz/fPifPHjx9XRUWFXnjhBX3ta1+TJL3zzjudPk92drbi4uJUXl6uiy+++POa3W793//9n77+9a9Lki677DIlJCTo4MGDGjduXED1tMdqteqKK67Q66+/rhdeeEF//OMfFR0dnumuBHwAAABEzP4SX/nKV7Rz50599NFHuuCCC5SSkqK+ffvq+eefV0ZGhg4ePKhFixZ1+jwXXnih7rzzTj388MNKSUlRWlqaHn/8cUVHRysqKsrf5oc//KHmz5+v1tZWXXvttXK73Xr33XeVmJioO++886z1tBfcr7rqKj377LOaOnVqWL9RZBUdAAAARMz+Ej/84Q8VExOjyy67TP369dPBgwf16quvateuXbr88ss1f/58PfXUUwE9189//nPl5ubqW9/6liZMmKBrrrlGw4YNU58+ffxtli5dqoKCAhUWFmrYsGG6/vrrtXnzZg0cOLDdetozcuRIxcXFBVxfsEQZhmGEtYJu1tDQILvdLrfbrcTExHCXAwAAEHKfffaZDhw4oIEDB7YJs51xuVy6f/btGmU71u5Smaf3l9jjSdOKF1/uUatUeTweXXTRRXr66ac1e/bsbn/+6667TldeeaWefvrpc36Ojs5doDmXIToAAACQ9M/9JQoWztOstRWaNiJZE4enym6JlbuxRaV7a7Th/Todj83oEftL7NmzRx988IHGjBkjt9utJ554QpI0derUbnuN1tZWffrpp3rxxRf14YcfauPGjd323OeKgA8AAAA/s+0v8bOf/UwVFRWKj4/X6NGj9fbbbys1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hIAPAAAAmAgBHwAAADARAj4AAABgIgR8AAAAwEQI+AAAAICJEPABAAAAEyHgAwAAACZCwAcAAABMhIAPAAAAmAgBHwAAADARAj4AAABgIgR8AAAAwEQI+AAAAICJEPABAAAAEwlawP/JT36iq6++WlarVUlJSQH1ueuuuxQVFdXmdv311werRAAAAMB0YoP1xKdOndItt9yi3NxcvfjiiwH3u/7667Vq1Sr//YSEhGCUBwAAAJhS0AL+j370I0nS6tWru9QvISFB6enpQagIAAAAML+IG4O/fft2paWlaejQobrvvvt0/PjxDts3NTWpoaGhzQ0AAADorSIq4F9//fVau3attm7dqieffFJlZWW64YYb5PP52u1TWFgou93uv2VlZYWwYgAAACCydCngL1q06IxJsF++ffDBB+dczK233qpvf/vbuuKKKzRt2jT94Q9/UHl5ubZv395un8WLF8vtdvtvhw4dOufXBwAAAHq6Lo3Bf+ihh3TXXXd12CY7O/t86jnjuVJTU1VZWanx48eftU1CQgITcQEAAIB/6FLA79evn/r16xesWs5w+PBhHT9+XBkZGSF7TQAAAKAnC9oY/IMHD8rpdOrgwYPy+XxyOp1yOp06efKkv82ll16q9evXS5JOnjyphx9+WH/+85/10UcfaevWrZo6daoGDx6syZMnB6tMAAAAwFSCtkzmY489pjVr1vjvjxo1SpL05ptvKi8vT5JUUVEht9stSYqJidH777+vNWvWqL6+XgMGDNCkSZO0dOlShuAAAAAAAYoyDMMIdxHdqaGhQXa7XW63W4mJieEuBwAAAOgWgebciFomEwAAAMD5IeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwA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", + "image/png": "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Hrzzzjv69a9/reLi4rPWczZXXXWV1qxZ47//8ssv69ChQ1q8ePE5/jbOHQEfANCjZWdn69GCAs194AE5nU55PB7ZbDY5HA7G3ANd8M/9JQYF1H7i8FSt2LFfTqdTeXl5Qa3tww8/1GOPPaadO3eqpqbGf+X+4MGD/oA/evToNn1cLpeam5s1ZswY/zG73a6hQ4f671dWVsrr9WrixIlt+p46dUqjRo3qUo1XXXWVFi1apJMnTyoqKkqPPPKIfvzjH+uCCy7o0vN0BwI+AMAUkpKSgh4yADOL5P0lpkyZoksuuUQvvPCCBgwYoNbWVl1++eVtJtOeyzK4J0+elCRt3rxZF110UZvHEhISuvRco0ePVnR0tHbv3q033nhD/fr108yZM7tcU3cg4AMAACBi9peIj4+Xz/fPifPHjx9XRUWFXnjhBX3ta1+TJL3zzjudPk92drbi4uJUXl6uiy+++POa3W793//9n77+9a9Lki677DIlJCTo4MGDGjduXED1tMdqteqKK67Q66+/rhdeeEF//OMfFR0dnumuBHwAAABEzP4SX/nKV7Rz50599NFHuuCCC5SSkqK+ffvq+eefV0ZGhg4ePKhFixZ1+jwXXnih7rzzTj388MNKSUlRWlqaHn/8cUVHRysqKsrf5oc//KHmz5+v1tZWXXvttXK73Xr33XeVmJioO++886z1tBfcr7rqKj377LOaOnVqWL9RZBUdAAAARMz+Ej/84Q8VExOjyy67TP369dPBgwf16quvateuXbr88ss1f/58PfXUUwE9189//nPl5ubqW9/6liZMmKBrrrlGw4YNU58+ffxtli5dqoKCAhUWFmrYsGG6/vrrtXnzZg0cOLDdetozcuRIxcXFBVxfsEQZhmGEtYJu1tDQILvdLrfbrcTExHCXAwAAEHKfffaZDhw4oIEDB7YJs51xuVy6f/btGmU71u5Smaf3l9jjSdOKF1/uUatUeTweXXTRRXr66ac1e/bsbn/+6667TldeeaWefvrpc36Ojs5doDmXIToAAACQ9M/9JQoWztOstRWaNiJZE4enym6JlbuxRaV7a7Th/Todj83oEftL7NmzRx988IHGjBkjt9utJ554QpI0derUbnuN1tZWffrpp3rxxRf14YcfauPGjd323OeKgA8AAAA/s+0v8bOf/UwVFRWKj4/X6NGj9fbbbys1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hIAPAAAAmAgBHwAAADARAj4AAABgIgR8AAAAwEQI+AAAAICJEPABAAAAEyHgAwAAACZCwAcAAABMhIAPAAAAmAgBHwAAADARAj4AAABgIgR8AAAAwEQI+AAAAICJEPABAAAAEwlawP/JT36iq6++WlarVUlJSQH1ueuuuxQVFdXmdv311werRAAAAMB0YoP1xKdOndItt9yi3NxcvfjiiwH3u/7667Vq1Sr//YSEhGCUBwAAAJhS0AL+j370I0nS6tWru9QvISFB6enpQagIAAAAML+IG4O/fft2paWlaejQobrvvvt0/PjxDts3NTWpoaGhzQ0AAADorSIq4F9//fVau3attm7dqieffFJlZWW64YYb5PP52u1TWFgou93uv2VlZYWwYgAAACCydCngL1q06IxJsF++ffDBB+dczK233qpvf/vbuuKKKzRt2jT94Q9/UHl5ubZv395un8WLF8vtdvtvhw4dOufXBwAAAHq6Lo3Bf+ihh3TXXXd12CY7O/t86jnjuVJTU1VZWanx48eftU1CQgITcQEAAIB/6FLA79evn/r16xesWs5w+PBhHT9+XBkZGSF7TQAAAKAnC9oY/IMHD8rpdOrgwYPy+XxyOp1yOp06efKkv82ll16q9evXS5JOnjyphx9+WH/+85/10UcfaevWrZo6daoGDx6syZMnB6tMAAAAwFSCtkzmY489pjVr1vjvjxo1SpL05ptvKi8vT5JUUVEht9stSYqJidH777+vNWvWqL6+XgMGDNCkSZO0dOlShuAAAAAAAYoyDMMIdxHdqaGhQXa7XW63W4mJieEuBwAAAOgWgebciFomEwAAAMD5IeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwAAADARAj4AAAAgIkQ8AEAAAATIeADAAAAJkLABwAAAEyEgA8AAACYCAEfAAAAMBECPgAAAGAiBHwA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\n", "text/plain": [ "
" ] @@ -101,8 +100,6 @@ } ], "source": [ - "import matplotlib.pyplot as plt\n", - "\n", "x_args = {\n", " \"s\": 80,\n", " \"label\": r\"source $x$\",\n", @@ -123,16 +120,9 @@ "id": "0e696ec1", "metadata": {}, "source": [ - "## Optimal transport with OTT" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "388c2e46", - "metadata": {}, - "source": [ - "We will now use `ott` to compute the optimal transport between `x` and `y`. To do so, we first create a `geom` object that stores the geometry (a.k.a. the ground cost) between `x` and `y`:" + "## Optimal transport with {mod}`ott`\n", + "\n", + "We will now use {mod}`ott` to compute the optimal transport between `x` and `y`. To do so, we first create a `geom` object that stores the geometry (a.k.a. the ground cost) between `x` and `y`:" ] }, { @@ -142,20 +132,17 @@ "metadata": {}, "outputs": [], "source": [ - "from ott.geometry import pointcloud\n", - "\n", "geom = pointcloud.PointCloud(x, y)" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "aafe996a", "metadata": {}, "source": [ "`geom` contains the two datasets `x` and `y`, as well as a `cost_fn` that is a way to measure distances between points. Here, we use the default settings, so the `cost_fn` is {class}`~ott.geometry.costs.SqEuclidean`, the usual squared-Euclidean distance.\n", "\n", - "In order to compute the optimal transport corresponding to `geom`, we use the Sinkhorn algorithm. The Sinkhorn algorithm has a regularization hyperparameter `epsilon`. `OTT` stores that parameter in `geom`, and uses by default the twentieth of the mean cost between all points in `x` and `y`. While it is also possible to set probably weights `a` for each point in `x` (and `b` for `y`), these are uniform by default." + "In order to compute the optimal transport corresponding to `geom`, we use the {class}`~ott.solvers.linear.sinkhorn.Sinkhorn` algorithm. The Sinkhorn algorithm has a regularization hyperparameter `epsilon`. {mod}`ott` stores that parameter in `geom`, and uses by default the twentieth of the mean cost between all points in `x` and `y`. While it is also possible to set probably weights `a` for each point in `x` (and `b` for `y`), these are uniform by default." ] }, { @@ -165,9 +152,8 @@ "metadata": {}, "outputs": [], "source": [ - "from ott.solvers.linear import sinkhorn\n", - "\n", - "ot = sinkhorn.solve(geom, a=None, b=None)" + "solve_fn = jax.jit(sinkhorn.solve)\n", + "ot = solve_fn(geom, a=None, b=None)" ] }, { @@ -175,7 +161,7 @@ "id": "7a62ae43", "metadata": {}, "source": [ - "As a small note: the computations here are *jitted*, meaning that the second time the solver is run it will be much faster:" + "As a small note: the computations here are {func}`jitted `, meaning that the second time the solver is run it will be much faster:" ] }, { @@ -185,16 +171,15 @@ "metadata": {}, "outputs": [], "source": [ - "ot = sinkhorn.solve(geom)" + "ot = solve_fn(geom)" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "bd078587", "metadata": {}, "source": [ - "The output object `ot` contains the solution of the optimal transport problem. This includes the optimal coupling matrix, that indicates at entry `[i,j]` how much of the mass of the point `x[i]` is moved towards `y[j]`." + "The output object `ot` contains the solution of the optimal transport problem. This includes the optimal coupling matrix, that indicates at entry `[i, j]` how much of the mass of the point `x[i]` is moved towards `y[j]`." ] }, { @@ -207,7 +192,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAHqCAYAAABx1DruAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLF0lEQVR4nO3df1xUddr/8feAwvgL1iRBDMXKUtMgQVmsNFs2MMtod1HJ1Mjbtm4pjdY7NRP9WlHt6mpBmq1abZmuu2neZrbGhtYtpoJuuf1uNal2QMtAKcFmzvcPc7ZZh5HBGcdzej0fj89jd858zudcM1BdXl7nc2yGYRgCAAAAYAlhoQ4AAAAAQOCQ4AMAAAAWQoIPAAAAWAgJPgAAAGAhJPgAAACAhZDgAwAAABZCgg8AAABYCAk+AAAAYCGtQh0AAAAA0FxHjx5VY2NjUNaOiIiQ3W4PytpnEgk+AAAATOHo0aPq0b29HDXOoKwfFxenvXv3mj7JJ8EHAACAKTQ2NspR49Teiu6K6hDYTvO6wy71SPlUjY2NJPgAAADAmRTVISzgCb6VkOADAADAVJyGS04j8GtaBX/0AQAAACyECj4AAABMxSVDLgW2hB/o9UKJCj4AAABgIVTwAQAAYCouuRTojvnArxg6VPABAAAAC6GCDwAAAFNxGoacRmB75gO9XiiR4AMAAMBUuMnWN1p0APjl6aefls1m0759+35U1w6WxMRE3XLLLe7XZWVlstlsKisrC1lMZ5vZs2fLZrOFOgwAMA0SfMDk/vGPf+jmm29W165dFRkZqfj4eI0ZM0b/+Mc/Tmvdhx56SGvXrg1MkCGye/du3XzzzUpISFBkZKTOOeccZWRkaPny5XI6naEO76xz4g9QNptNb7755knvG4ahhIQE2Ww2XXfddS26hhV+rwCEnkuGnAEeVPABnBVefPFF9e/fX6WlpcrLy9MTTzyhCRMm6PXXX1f//v21Zs2aFq/dVCI2duxYffvtt+revftpRB58f/jDH5SamqrXX39dY8aM0RNPPKFZs2apTZs2mjBhgh555JFQh+jV4MGD9e2332rw4MEhi8Fut2vFihUnHd+8ebM+++wzRUZGtnjtliT4M2fO1LffftviawLAjw09+IBJffLJJxo7dqzOP/98bdmyReeee677vcmTJ+vKK6/U2LFj9fbbb+v8888P2HXDw8MVHh4esPWCYdu2bbr99tuVnp6uDRs2qEOHDu73pkyZop07d2rPnj0hjLBpYWFhstvtIY3h2muv1erVq/XYY4+pVat//2dixYoVSklJ0cGDB89IHPX19WrXrp1atWrlEQcA0IPvGxV8wKR++9vf6ptvvtGSJUs8kntJiomJ0ZNPPqn6+no9+uij7uMnepnff/99jRw5UlFRUerUqZMmT56so0ePuufZbDbV19frmWeecbdsnOgT99YHn5iYqOuuu05lZWVKTU1VmzZt1K9fP3cf+Ysvvqh+/frJbrcrJSVFu3bt8oj37bff1i233KLzzz9fdrtdcXFxuvXWW/Xll1+26LuZM2eObDabnn/+eY/k/oTU1FSPvvf6+nrdc8897laeiy++WL/73e9k/GBHhX379slms+npp58+aT2bzabZs2e7Xzf3e/bGWw/+VVddpb59++rdd9/V0KFD1bZtW3Xt2tXjZ3vCp59+qhEjRqhdu3bq3Lmz7r77br366qt+9fXn5ubqyy+/1KZNm9zHGhsb9ec//1k33XST13N+97vfadCgQerUqZPatGmjlJQU/fnPf/aY4+v36sR39u677+qmm25Sx44ddcUVV3i8d8Ly5ctls9m0bNkyj/Ufeugh2Ww2bdiwoVmfEwCsigQfMKn//d//VWJioq688kqv7w8ePFiJiYl6+eWXT3pv5MiROnr0qIqKinTttdfqscce02233eZ+/49//KMiIyN15ZVX6o9//KP++Mc/6te//rXPeD7++GPddNNNuv7661VUVKRDhw7p+uuv1/PPP6+7775bN998s+bMmaNPPvlEI0eOlMv17weKbNq0Sf/85z+Vl5enxx9/XKNHj9bKlSt17bXXeiTZzfHNN9+otLRUgwcPVrdu3U453zAMjRgxQr///e+VlZWl+fPn6+KLL9bUqVNVUFDg17X/06m+Z38cOnRIWVlZSkpK0rx589SrVy/de++9euWVV9xz6uvrdfXVV+u1117TXXfdpfvuu09bt27Vvffe69e1EhMTlZ6erhdeeMF97JVXXlFtba1Gjx7t9ZyFCxfqsssu0//7f/9PDz30kFq1aqWcnByP37/m/F7l5OTom2++0UMPPaSJEyd6vVZeXp6uu+46FRQUqKqqSpL0zjvvaM6cOZowYYKuvfZavz4vAPM5sU1moIdlGABM5+uvvzYkGTfccIPPeSNGjDAkGXV1dYZhGEZhYaEhyRgxYoTHvP/+7/82JBl///vf3cfatWtnjB8//qQ1ly9fbkgy9u7d6z7WvXt3Q5KxdetW97FXX33VkGS0adPG+PTTT93Hn3zySUOS8frrr7uPffPNNydd54UXXjAkGVu2bPF57f/097//3ZBkTJ48uck5P7R27VpDkvHAAw94HP/Vr35l2Gw24+OPPzYMwzD27t1rSDKWL19+0hqSjMLCQvdrf77n7t27e3zPr7/++knfz5AhQwxJxrPPPus+1tDQYMTFxRm//OUv3cfmzZtnSDLWrl3rPvbtt98avXr1OmlNb058vzt27DCKi4uNDh06uH82OTk5xtChQ90xDx8+3OPc//wZNjY2Gn379jWuvvpqj+NN/V6d+M5yc3ObfO+H/vWvfxnnnHOO8fOf/9xoaGgwLrvsMqNbt25GbW2tz88IwNxqa2sNScaH78Ua//qsS0DHh+/FGpIs8e8RKviACR0+fFiSvLaf/NCJ9+vq6jyOT5o0yeP1nXfeKUmn1drQp08fpaenu1+npaVJkq6++mqPSvqJ4//85z/dx9q0aeP+/0ePHtXBgwf105/+VJJUWVnpVxwnPuupvpsTNmzYoPDwcN11110ex++55x4ZhuFRIfdXIL/n9u3b6+abb3a/joiI0MCBAz2+x40bN6pr164aMWKE+5jdbm+yEu7LyJEj9e2332r9+vU6fPiw1q9f32R7juT5Mzx06JBqa2t15ZVX+v3zu/3225s1Ly4uTiUlJdq0aZOuvPJK7d69W8uWLVNUVJRf1wNgTq4gDavgriXAhE4krycS/aY09QeBnj17ery+4IILFBYWdlr7y/9nO0x0dLQkKSEhwevxQ4cOuY999dVXmjNnjlauXKmamhqP+bW1tX7FcSLBO9V3c8Knn36q+Pj4k76j3r17u99vqUB+z+edd95Je8F37NhRb7/9tvv1p59+qgsuuOCkeRdeeKHf1zv33HOVkZGhFStW6JtvvpHT6dSvfvWrJuevX79eDzzwgHbv3q2Ghgb3cX/3r+/Ro0ez544ePVrPPfecXn75Zd1222362c9+5te1AJjXia0tA72mVZDgAyYUHR2tLl26eCR33rz99tvq2rXrKauagXiIUFM76zR13PhBr+PIkSO1detWTZ06VcnJyWrfvr1cLpeysrI8evWb48ILL1SrVq30zjvv+HXeqTT1Hfmzn/7pfM/N+R4D7aabbtLEiRPlcDg0bNgw/eQnP/E674033tCIESM0ePBgPfHEE+rSpYtat26t5cuXe91u05cf/k3AqXz55ZfauXOnJOndd9+Vy+VSWBh/MQ0A/JsQMKnrrrtOe/fu9fpAIul40rVv3z6vDyT66KOPPF5//PHHcrlcSkxMdB87U08OPXTokEpLSzVt2jTNmTNHN954o37+85+3eGvPtm3b6uqrr9aWLVvcN2D60r17d33xxRcnVfzff/999/vS8Wq5JH399dce83xV+JvzPQdS9+7d9cknn5yU9H/88cctWu/GG29UWFiYtm3b5rM95y9/+YvsdrteffVV3XrrrRo2bJgyMjK8zg3k79WkSZN0+PBhFRUV6c0339SCBQsCtjaAs5vTCM6wChJ8wKSmTp2qNm3a6Ne//vVJ20l+9dVXuv3229W2bVtNnTr1pHNLSko8Xj/++OOSpGHDhrmPtWvX7qRkNhhOVKb/Myk9nWStsLBQhmFo7NixOnLkyEnvV1RU6JlnnpF0fM93p9Op4uJijzm///3vZbPZ3N9JVFSUYmJitGXLFo95TzzxRJNxNOd7DqTMzEx9/vnnWrdunfvY0aNH9dRTT7Vovfbt22vRokWaPXu2rr/++ibnhYeHy2azefxtxr59+7w+0CpQv1d//vOftWrVKj388MOaNm2aRo8erZkzZ+rDDz887bUBwOxo0QFMqmfPnnrmmWc0ZswY9evXTxMmTFCPHj20b98+LV26VAcPHtQLL7ygCy644KRz9+7dqxEjRigrK0vl5eV67rnndNNNNykpKck9JyUlRa+99prmz5+v+Ph49ejRw32DbCBFRUVp8ODBevTRR3Xs2DF17dpVf/3rX7V3794Wrzlo0CCVlJTov//7v9WrVy+NHTtWPXv21OHDh1VWVqZ169bpgQcekCRdf/31Gjp0qO677z7t27dPSUlJ+utf/6qXXnpJU6ZM8fj+/uu//ksPP/yw/uu//kupqanasmWLz4SyOd9zIP36179WcXGxcnNzNXnyZHXp0kXPP/+8+8FZLamejx8//pRzhg8frvnz5ysrK0s33XSTampqVFJSogsvvPCkNrJA/F7V1NTojjvu0NChQ5Wfny9JKi4u1uuvv65bbrlFb775Jq06gMUF46ZYK91ky78BARPLyclRRUWFrrrqKi1dulS33367nnrqKQ0ZMkQVFRX6xS9+4fW8VatWKTIyUtOmTdPLL7+s/Px8LV261GPO/PnzlZKSopkzZyo3N1eLFi0K2udYsWKFMjMzVVJSounTp6t169antXuNdDzZ3bFjh4YMGaJnn31Wt99+u+bMmaPDhw9r+fLl7r3hw8LCtG7dOk2ZMkXr16/XlClT9O677+q3v/2t5s+f77HmrFmzNGHCBP35z3/W//zP/8jpdPqMsznfcyC1b99ef/vb33T11Vdr4cKFeuCBB3TllVfq/vvvl6SgPSH36quv1tKlS+VwODRlyhS98MILeuSRR3TjjTeeNDcQv1d33HGHGhoa3A+8kqROnTppyZIlKi8v1+9+97vT/kwAYGY2I5h3aAE4q8yePVtz5szRgQMHFBMTE+pwLOts+54XLFigu+++W5999pm6du0a6nAAoMXq6uoUHR2tyndj1b5DYOvURw671L9PtWpra02/5S4VfACwkG+//dbj9dGjR/Xkk0+qZ8+eJPcA8CNBDz4AWMgvfvELdevWTcnJyaqtrdVzzz2n999/X88//3yoQwOAgHEZx0eg17QKEnwAsJDMzEz94Q9/0PPPPy+n06k+ffpo5cqVGjVqVKhDA4CAccompwK7nXOg1wslevABAABgCid68N/6R1xQevDTLnFYogefCj4AAABMhQq+b9xkCwAAAFjIGa/gu1wuffHFF+rQoUNAH1kOAACAwDAMQ4cPH1Z8fPxZ+eA4l2GTywhsHhno9ULpjCf4X3zxhRISEs70ZQEAAOCnqqoqnXfeeaEOA3464wl+hw4dJEkpw+5TeOvgPFUx1Nqu2xnqEIBTytr+dahDCKpFm34e6hCCrsd9O0IdAvCjZouMDHUIQfOdcUxvNK5x521nG3rwfTvjCf6Jtpzw1na1smiC38rWOtQhAKdkb2/te+zD7Nb898sP8e8aILRsP4J/BmmnNidr/xceAAAAluNUmJwB3ivGGdDVQosEHwAAAKZiBOEmW8NCN9mefbdFAwAAAGgxKvgAAAAwFW6y9Y0KPgAAAGAhVPABAABgKk4jTE4jwDfZGgFdLqSo4AMAAAAWQgUfAAAApuKSTa4A16ldsk4Jnwo+AAAA0EIlJSVKTEyU3W5XWlqatm/f7nP+6tWr1atXL9ntdvXr108bNmzweP/IkSPKz8/XeeedpzZt2qhPnz5avHixXzGR4AMAAMBUTuyiE+jhr1WrVqmgoECFhYWqrKxUUlKSMjMzVVNT43X+1q1blZubqwkTJmjXrl3Kzs5Wdna29uzZ455TUFCgjRs36rnnntN7772nKVOmKD8/X+vWrWt2XCT4AAAAMJUTN9kGevhr/vz5mjhxovLy8tyV9rZt22rZsmVe5y9cuFBZWVmaOnWqevfurblz56p///4qLi52z9m6davGjx+vq666SomJibrtttuUlJR0yr8Z+CESfAAAAOB7dXV1HqOhocHrvMbGRlVUVCgjI8N9LCwsTBkZGSovL/d6Tnl5ucd8ScrMzPSYP2jQIK1bt06ff/65DMPQ66+/rg8//FDXXHNNsz8DCT4AAABM5fhNtoEfkpSQkKDo6Gj3KCoq8hrDwYMH5XQ6FRsb63E8NjZWDofD6zkOh+OU8x9//HH16dNH5513niIiIpSVlaWSkhINHjy42d8Pu+gAAAAA36uqqlJUVJT7dWRk5Bm9/uOPP65t27Zp3bp16t69u7Zs2aJJkyYpPj7+pOp/U0jwAQAAYCouhckZpG0yo6KiPBL8psTExCg8PFzV1dUex6urqxUXF+f1nLi4OJ/zv/32W82YMUNr1qzR8OHDJUmXXnqpdu/erd/97nfNTvBp0QEAAAD8FBERoZSUFJWWlrqPuVwulZaWKj093es56enpHvMladOmTe75x44d07FjxxQW5pmih4eHy+VyNTs2KvgAAAAwlZbueuN7Tf8fdFVQUKDx48crNTVVAwcO1IIFC1RfX6+8vDxJ0rhx49S1a1d3H//kyZM1ZMgQzZs3T8OHD9fKlSu1c+dOLVmyRNLxvz0YMmSIpk6dqjZt2qh79+7avHmznn32Wc2fP7/ZcZHgAwAAAC0watQoHThwQLNmzZLD4VBycrI2btzovpF2//79HtX4QYMGacWKFZo5c6ZmzJihnj17au3aterbt697zsqVKzV9+nSNGTNGX331lbp3764HH3xQt99+e7PjIsEHAACAqbgUJleQevD9lZ+fr/z8fK/vlZWVnXQsJydHOTk5Ta4XFxen5cuXtyiWE0jwAQAAYCpOwyan4f+TZ0+1plVwky0AAABgIS1K8EtKSpSYmCi73a60tDS/Hp0LAAAAnA7n99tkBnpYhd+fZNWqVSooKFBhYaEqKyuVlJSkzMxM1dTUBCM+AAAAAH7wO8GfP3++Jk6cqLy8PPXp00eLFy9W27ZttWzZsmDEBwAAAHhwGWFBGVbh1ydpbGxURUWFx1O0wsLClJGRofLycq/nNDQ0qK6uzmMAAAAACA6/EvyDBw/K6XS69/Y8ITY2Vg6Hw+s5RUVFio6Odo+EhISWRwsAAIAfPXrwfQv6J5k+fbpqa2vdo6qqKtiXBAAAAH60/NoHPyYmRuHh4aqurvY4Xl1drbi4OK/nREZGKjIysuURAgAAAD/gUuD3rXcFdLXQ8quCHxERoZSUFJWWlrqPuVwulZaWKj09PeDBAQAAAP/pxJNsAz2swu8n2RYUFGj8+PFKTU3VwIEDtWDBAtXX1ysvLy8Y8QEAAADwg98J/qhRo3TgwAHNmjVLDodDycnJ2rhx40k33gIAAADB4DTC5AzwtpaBXi+U/E7wJSk/P1/5+fmBjgUAAADAaWpRgg8AAACEiks2uRTom2wDu14oWefvIgAAAABQwQcAAIC50IPvm3U+CQAAAAAq+AAAADAXp8LkDHCdOtDrhRIJPgAAAEzFZdjkCvSTbAO8XihZ548qAAAAAKjgAwAAwFxcQWjRcVmo7m2dTwIAAACACj4AAADMxWWEyRXgbS0DvV4oWeeTAAAAAKCCDwAAAHNxyianArvrTaDXCyUq+AAAAICFUMEHAACAqdCD75t1PgkAAAAAKvgAAAAwF6cC3zPvDOhqoUWCDwAAAFOhRcc363wSAAAAAFTwAQAAYC5OI0zOAFfcA71eKFnnkwAAAACggg8AAABzMWSTK8A32RoWetBVyBL8tut2qpWtdaguH1QX7LCHOoSge/++vqEOIaha/3VnqEMIulduTA11CEF1fsy3oQ4h6I5eNzDUIQRV+39UhzqEoPtu76ehDgGnwWhoCHUIQWMYx0IdAk4DFXwAAACYCj34vlnnkwAAAACggg8AAABzcRk2uYzA9swHer1QIsEHAACAqTgVJmeAG1ECvV4oWeeTAAAAACDBBwAAgLmcaNEJ9GiJkpISJSYmym63Ky0tTdu3b/c5f/Xq1erVq5fsdrv69eunDRs2eLxvs9m8jt/+9rfNjokEHwAAAGiBVatWqaCgQIWFhaqsrFRSUpIyMzNVU1Pjdf7WrVuVm5urCRMmaNeuXcrOzlZ2drb27NnjnvOvf/3LYyxbtkw2m02//OUvmx0XCT4AAABMxaWwoAx/zZ8/XxMnTlReXp769OmjxYsXq23btlq2bJnX+QsXLlRWVpamTp2q3r17a+7cuerfv7+Ki4vdc+Li4jzGSy+9pKFDh+r8889vdlwk+AAAAMD36urqPEZDEw80a2xsVEVFhTIyMtzHwsLClJGRofLycq/nlJeXe8yXpMzMzCbnV1dX6+WXX9aECRP8+gwk+AAAADAVp2ELypCkhIQERUdHu0dRUZHXGA4ePCin06nY2FiP47GxsXI4HF7PcTgcfs1/5pln1KFDB/3iF7/w6/thm0wAAADge1VVVYqKinK/joyMDFksy5Yt05gxY2S32/06jwQfAAAAphLMB11FRUV5JPhNiYmJUXh4uKqrqz2OV1dXKy4uzus5cXFxzZ7/xhtv6IMPPtCqVaua+xHcaNEBAACAqRhGmFwBHobhX1ocERGhlJQUlZaWuo+5XC6VlpYqPT3d6znp6eke8yVp06ZNXucvXbpUKSkpSkpK8isuiQo+AAAA0CIFBQUaP368UlNTNXDgQC1YsED19fXKy8uTJI0bN05du3Z19/FPnjxZQ4YM0bx58zR8+HCtXLlSO3fu1JIlSzzWraur0+rVqzVv3rwWxUWCDwAAAFNxyianAtui05L1Ro0apQMHDmjWrFlyOBxKTk7Wxo0b3TfS7t+/X2Fh//6bgUGDBmnFihWaOXOmZsyYoZ49e2rt2rXq27evx7orV66UYRjKzc1t0WexGYZhtOjMFqqrq1N0dLSu0g1qZWt9Ji99xlyww78bIczo/fv6nnqSibX+685QhxB04RddEOoQguq7mPahDiHoGs4J3Y1fZ0L7f1SfepLJfbf301CHAHj1nXFMZXpJtbW1zepHP1NO5JETNo9URPvA5pGNR45p6ZA/nXWfuSWo4AMAAMBUXIaCcJNtQJcLKW6yBQAAACyECj4AAABM5cTON4Fe0yqs80kAAAAAUMEHAACAubhkkyvAu+gEer1QIsEHAACAqTgNm5wBvsk20OuFEi06AAAAgIVQwQcAAICpcJOtb35/ki1btuj6669XfHy8bDab1q5dG4SwAAAAALSE3wl+fX29kpKSVFJSEox4AAAAAJ9cssllBHj8mG+yHTZsmIYNGxaMWAAAAACcpqD34Dc0NKihocH9uq6uLtiXBAAAgIUZQdgm07BQBT/odxMUFRUpOjraPRISEoJ9SQAAAOBHK+gJ/vTp01VbW+seVVVVwb4kAAAALCzg/fffD6sIeotOZGSkIiMjg30ZAAAA/EiwTaZv1vkkAAAAAPyv4B85ckQff/yx+/XevXu1e/dunXPOOerWrVtAgwMAAAD+UzBaan7ULTo7d+7U0KFD3a8LCgokSePHj9fTTz8dsMAAAAAA+M/vBP+qq66SYRjBiAUAAAA4JVcQtsm00oOu6MEHAAAALCTou+gAAAAAgUQPvm9U8AEAAAALoYIPAAAAU6GC7xsJPgAAAEyFBN83WnQAAAAAC6GCDwAAAFOhgu8bFXwAAADAQqjgAwAAwFQMBf7BVFZ6jCsVfAAAAMBCqOADAADAVOjB940KPgAAAGAhVPABAABgKlTwfSPBBwAAgKmQ4PtGiw4AAABgIVTwAQAAYCpU8H2jgg8AAABYCBV8AAAAmIph2GQEuOIe6PVCiQo+AAAAYCFU8AEAAGAqLtnkUoB78AO8XihRwQcAAAAshAp+ELx/X99QhxB0EZvfCXUIQWWEOoAz4ctDoY4gqA78PDbUIQRd3LPW/ufwwbdfC3UIQXdvj7RQhwCYErvo+EYFHwAAAKZy4ibbQI+WKCkpUWJioux2u9LS0rR9+3af81evXq1evXrJbrerX79+2rBhw0lz3nvvPY0YMULR0dFq166dBgwYoP379zc7JhJ8AAAAoAVWrVqlgoICFRYWqrKyUklJScrMzFRNTY3X+Vu3blVubq4mTJigXbt2KTs7W9nZ2dqzZ497zieffKIrrrhCvXr1UllZmd5++23df//9stvtzY6LBB8AAACmcqJFJ9DDX/Pnz9fEiROVl5enPn36aPHixWrbtq2WLVvmdf7ChQuVlZWlqVOnqnfv3po7d6769++v4uJi95z77rtP1157rR599FFddtlluuCCCzRixAh17ty52XGR4AMAAADfq6ur8xgNDQ1e5zU2NqqiokIZGRnuY2FhYcrIyFB5ebnXc8rLyz3mS1JmZqZ7vsvl0ssvv6yLLrpImZmZ6ty5s9LS0rR27Vq/PgMJPgAAAEwlmD34CQkJio6Odo+ioiKvMRw8eFBOp1OxsZ6bOsTGxsrhcHg9x+Fw+JxfU1OjI0eO6OGHH1ZWVpb++te/6sYbb9QvfvELbd68udnfD7voAAAAAN+rqqpSVFSU+3VkZOQZu7bL5ZIk3XDDDbr77rslScnJydq6dasWL16sIUOGNGsdEnwAAACYihGEbTJPVPCjoqI8EvymxMTEKDw8XNXV1R7Hq6urFRcX5/WcuLg4n/NjYmLUqlUr9enTx2NO79699eabbzb7s9CiAwAAAPgpIiJCKSkpKi0tdR9zuVwqLS1Venq613PS09M95kvSpk2b3PMjIiI0YMAAffDBBx5zPvzwQ3Xv3r3ZsVHBBwAAgKkYkowAP5WyJcsVFBRo/PjxSk1N1cCBA7VgwQLV19crLy9PkjRu3Dh17drV3cc/efJkDRkyRPPmzdPw4cO1cuVK7dy5U0uWLHGvOXXqVI0aNUqDBw/W0KFDtXHjRv3v//6vysrKmh0XCT4AAADQAqNGjdKBAwc0a9YsORwOJScna+PGje4baffv36+wsH83zAwaNEgrVqzQzJkzNWPGDPXs2VNr165V37593XNuvPFGLV68WEVFRbrrrrt08cUX6y9/+YuuuOKKZsdFgg8AAABTcckmmwLbg+9q4Xr5+fnKz8/3+p63qntOTo5ycnJ8rnnrrbfq1ltvbVE8Egk+AAAATOaH21oGck2r4CZbAAAAwEKo4AMAAMBUXIZNtgBX3AO97WYoUcEHAAAALIQKPgAAAEzFMIKwTWaA1wslKvgAAACAhVDBBwAAgKmwi45vVPABAAAAC6GCDwAAAFOhgu8bCT4AAABMhW0yfaNFBwAAALAQKvgAAAAwFbbJ9M2vCn5RUZEGDBigDh06qHPnzsrOztYHH3wQrNgAAAAA+MmvBH/z5s2aNGmStm3bpk2bNunYsWO65pprVF9fH6z4AAAAAA/HK/i2AI9Qf6rA8atFZ+PGjR6vn376aXXu3FkVFRUaPHhwQAMDAAAA4L/T6sGvra2VJJ1zzjlNzmloaFBDQ4P7dV1d3elcEgAAAD9ybJPpW4t30XG5XJoyZYouv/xy9e3bt8l5RUVFio6Odo+EhISWXhIAAADAKbQ4wZ80aZL27NmjlStX+pw3ffp01dbWukdVVVVLLwkAAADICNKwiha16OTn52v9+vXasmWLzjvvPJ9zIyMjFRkZ2aLgAAAAgP9Ei45vfiX4hmHozjvv1Jo1a1RWVqYePXoEKy4AAAAALeBXgj9p0iStWLFCL730kjp06CCHwyFJio6OVps2bYISIAAAAOAhGD01FurR8asHf9GiRaqtrdVVV12lLl26uMeqVauCFR8AAAAAP/jdogMAAACEVBB68GWhHvwW76IDAAAA4OxzWg+6AgAAAM40wzg+Ar2mVVDBBwAAACyECj4AAABMhX3wfSPBBwAAgLkYtsDfFGuhBJ8WHQAAAMBCqOADAADAVLjJ1jcq+AAAAICFUMEHAACAuRjfj0CvaRFU8AEAAAALoYIPAAAAU2GbTN+o4AMAAAAWQgUfAAAA5mOhnvlAI8EHAACAqdCi4xstOgAAAICFUMEHAACAubBNpk9U8AEAAAALoYIPAAAAk7F9PwK9pjVQwQcAAABaqKSkRImJibLb7UpLS9P27dt9zl+9erV69eolu92ufv36acOGDR7v33LLLbLZbB4jKyvLr5hI8AEAAGAuRpCGn1atWqWCggIVFhaqsrJSSUlJyszMVE1Njdf5W7duVW5uriZMmKBdu3YpOztb2dnZ2rNnj8e8rKws/etf/3KPF154wa+4SPABAACAFpg/f74mTpyovLw89enTR4sXL1bbtm21bNkyr/MXLlyorKwsTZ06Vb1799bcuXPVv39/FRcXe8yLjIxUXFyce3Ts2NGvuOjBD4LWf90Z6hCCzkI3mnv16he7Qx1C0GXGJ4c6hKDqXLI11CEEnSvUAQTZvT3SQh1C0O2bmx7qEIKqx4t1oQ4hqIxd/wh1CD9eQdxFp67O8/c2MjJSkZGRJ01vbGxURUWFpk+f7j4WFhamjIwMlZeXe71EeXm5CgoKPI5lZmZq7dq1HsfKysrUuXNndezYUVdffbUeeOABderUqdkfhQo+AAAAzMWwBWdISkhIUHR0tHsUFRV5DeHgwYNyOp2KjY31OB4bGyuHw+H1HIfDccr5WVlZevbZZ1VaWqpHHnlEmzdv1rBhw+R0Opv99VDBBwAAAL5XVVWlqKgo92tv1ftgGj16tPv/9+vXT5deeqkuuOAClZWV6Wc/+1mz1qCCDwAAAFMxjOAMSYqKivIYTSX4MTExCg8PV3V1tcfx6upqxcXFeT0nLi7Or/mSdP755ysmJkYff/xxs78fEnwAAADATxEREUpJSVFpaan7mMvlUmlpqdLTvd9fk56e7jFfkjZt2tTkfEn67LPP9OWXX6pLly7Njo0EHwAAAOZylmyTWVBQoKeeekrPPPOM3nvvPd1xxx2qr69XXl6eJGncuHEeN+FOnjxZGzdu1Lx58/T+++9r9uzZ2rlzp/Lz8yVJR44c0dSpU7Vt2zbt27dPpaWluuGGG3ThhRcqMzOz2XHRgw8AAAC0wKhRo3TgwAHNmjVLDodDycnJ2rhxo/tG2v379yss7N/19EGDBmnFihWaOXOmZsyYoZ49e2rt2rXq27evJCk8PFxvv/22nnnmGX399deKj4/XNddco7lz5/p1LwAJPgAAAMzlB7veBHTNFsjPz3dX4P9TWVnZScdycnKUk5PjdX6bNm306quvtiiOH6JFBwAAALAQKvgAAAAwFZtxfAR6TasgwQcAAIC5BPFJtlZAiw4AAABgIVTwAQAAYC5n0U22ZyMq+AAAAICFUMEHAACAudCD7xMVfAAAAMBCqOADAADAXKjg+0QFHwAAALAQKvgAAAAwFyr4PpHgAwAAwFzYJtMnWnQAAAAAC6GCDwAAAFOxGcdHoNe0Cir4AAAAgIVQwQcAAIC5cJOtT1TwAQAAAAvxK8FftGiRLr30UkVFRSkqKkrp6el65ZVXghUbAAAAAD/5leCfd955evjhh1VRUaGdO3fq6quv1g033KB//OMfwYoPAAAAgB/86sG//vrrPV4/+OCDWrRokbZt26ZLLrkkoIEBAAAA3tgUhF10ArtcSLX4Jlun06nVq1ervr5e6enpTc5raGhQQ0OD+3VdXV1LLwkAAADgFPxO8N955x2lp6fr6NGjat++vdasWaM+ffo0Ob+oqEhz5sw5rSABAAAAN55k65Pfu+hcfPHF2r17t9566y3dcccdGj9+vN59990m50+fPl21tbXuUVVVdVoBAwAA4EfOCNKwCL8r+BEREbrwwgslSSkpKdqxY4cWLlyoJ5980uv8yMhIRUZGnl6UAAAAAJrltB905XK5PHrsAQAAgKDiQVc++ZXgT58+XcOGDVO3bt10+PBhrVixQmVlZXr11VeDFR8AAAAAP/iV4NfU1GjcuHH617/+pejoaF166aV69dVX9fOf/zxY8QEAAAAebEYQtsn8sVbwly5dGqw4AAAAAATAaffgAwAAAGcUPfg++b1NJgAAAICzFxV8AAAAmAsVfJ9I8AEAAGAq3GTrGy06AAAAgIVQwQcAAIC5GLbjI9BrWgQVfAAAAMBCqOADAADAXLjJ1icq+AAAAICFUMEHAACAqbCLjm9U8AEAAAALoYIPAAAAc6EH3ycSfAAAAJhLEFp0rJTg06IDAAAAtFBJSYkSExNlt9uVlpam7du3+5y/evVq9erVS3a7Xf369dOGDRuanHv77bfLZrNpwYIFfsVEgg8AAABzMYI0/LRq1SoVFBSosLBQlZWVSkpKUmZmpmpqarzO37p1q3JzczVhwgTt2rVL2dnZys7O1p49e06au2bNGm3btk3x8fF+x0WCDwAAALTA/PnzNXHiROXl5alPnz5avHix2rZtq2XLlnmdv3DhQmVlZWnq1Knq3bu35s6dq/79+6u4uNhj3ueff64777xTzz//vFq3bu13XCT4AAAAMJcgVvDr6uo8RkNDg9cQGhsbVVFRoYyMDPexsLAwZWRkqLy83Os55eXlHvMlKTMz02O+y+XS2LFjNXXqVF1yySXN/05+gAQfAAAA+F5CQoKio6Pdo6ioyOu8gwcPyul0KjY21uN4bGysHA6H13McDscp5z/yyCNq1aqV7rrrrhZ/BnbRAQAAgKkE80FXVVVVioqKch+PjIwM7IV8qKio0MKFC1VZWSmbzdbidajgAwAAAN+LioryGE0l+DExMQoPD1d1dbXH8erqasXFxXk9Jy4uzuf8N954QzU1NerWrZtatWqlVq1a6dNPP9U999yjxMTEZn8GEnwAAADATxEREUpJSVFpaan7mMvlUmlpqdLT072ek56e7jFfkjZt2uSeP3bsWL399tvavXu3e8THx2vq1Kl69dVXmx1byFp0wtq2UZgtIlSXDyrXN9+EOgScpqzuA0MdQtDZIlv+V39mYDRxUxRwNmmM+y7UIQTXux+HOoKgWrr/zVCHEDSHD7vUt0+oo/DhLHmSbUFBgcaPH6/U1FQNHDhQCxYsUH19vfLy8iRJ48aNU9euXd19/JMnT9aQIUM0b948DR8+XCtXrtTOnTu1ZMkSSVKnTp3UqVMnj2u0bt1acXFxuvjii5sdFz34AAAAQAuMGjVKBw4c0KxZs+RwOJScnKyNGze6b6Tdv3+/wsL+3TAzaNAgrVixQjNnztSMGTPUs2dPrV27Vn379g1oXCT4AAAAMJVg3mTrr/z8fOXn53t9r6ys7KRjOTk5ysnJafb6+/bt8zsmevABAAAAC6GCDwAAAPMJdA++hVDBBwAAACyECj4AAADM5SzZRedsRQUfAAAAsBAq+AAAADCVs2kXnbMRCT4AAADMhRYdn2jRAQAAACyECj4AAABMhRYd36jgAwAAABZCBR8AAADmQg++T1TwAQAAAAuhgg8AAABzoYLvExV8AAAAwEKo4AMAAMBU2EXHNxJ8AAAAmAstOj7RogMAAABYCBV8AAAAmAsVfJ+o4AMAAAAWQgUfAAAApsJNtr5RwQcAAAAs5LQS/Icfflg2m01TpkwJUDgAAADAKRhBGhbR4gR/x44devLJJ3XppZcGMh4AAAAAp6FFCf6RI0c0ZswYPfXUU+rYsWOgYwIAAACadKIHP9DDKlqU4E+aNEnDhw9XRkbGKec2NDSorq7OYwAAAAAtRouOT37vorNy5UpVVlZqx44dzZpfVFSkOXPm+B0YAAAAAP/5VcGvqqrS5MmT9fzzz8tutzfrnOnTp6u2ttY9qqqqWhQoAAAAIIkK/in4VcGvqKhQTU2N+vfv7z7mdDq1ZcsWFRcXq6GhQeHh4R7nREZGKjIyMjDRAgAAAPDJrwT/Zz/7md555x2PY3l5eerVq5fuvffek5J7AAAAINBs349Ar2kVfiX4HTp0UN++fT2OtWvXTp06dTrpOAAAAIAzz++bbAEAAICQCkbP/I+1B9+bsrKyAIQBAAAAIBCo4AMAAMBUgvFgKis96IoEHwAAAOZCi45PLXqSLQAAAICzExV8AAAAmI+FKu6BRgUfAAAAsBAq+AAAADAVbrL1jQo+AAAAYCFU8AEAAGAu7KLjExV8AAAAoIVKSkqUmJgou92utLQ0bd++3ef81atXq1evXrLb7erXr582bNjg8f7s2bPVq1cvtWvXTh07dlRGRobeeustv2IiwQcAAICpnOjBD/Tw16pVq1RQUKDCwkJVVlYqKSlJmZmZqqmp8Tp/69atys3N1YQJE7Rr1y5lZ2crOztbe/bscc+56KKLVFxcrHfeeUdvvvmmEhMTdc011+jAgQPNjosEHwAAAOZiBGn4af78+Zo4caLy8vLUp08fLV68WG3bttWyZcu8zl+4cKGysrI0depU9e7dW3PnzlX//v1VXFzsnnPTTTcpIyND559/vi655BLNnz9fdXV1evvtt5sdFwk+AAAA8L26ujqP0dDQ4HVeY2OjKioqlJGR4T4WFhamjIwMlZeXez2nvLzcY74kZWZmNjm/sbFRS5YsUXR0tJKSkpr9GUjwAQAAYCrBbNFJSEhQdHS0exQVFXmN4eDBg3I6nYqNjfU4HhsbK4fD4fUch8PRrPnr169X+/btZbfb9fvf/16bNm1STExMs78fdtEBAAAAvldVVaWoqCj368jIyDMew9ChQ7V7924dPHhQTz31lEaOHKm33npLnTt3btb5VPABAABgLkHswY+KivIYTSX4MTExCg8PV3V1tcfx6upqxcXFeT0nLi6uWfPbtWunCy+8UD/96U+1dOlStWrVSkuXLj319/I9EnwAAADATxEREUpJSVFpaan7mMvlUmlpqdLT072ek56e7jFfkjZt2tTk/B+u29S9AN7QogMAAABzOUsedFVQUKDx48crNTVVAwcO1IIFC1RfX6+8vDxJ0rhx49S1a1d3H//kyZM1ZMgQzZs3T8OHD9fKlSu1c+dOLVmyRJJUX1+vBx98UCNGjFCXLl108OBBlZSU6PPPP1dOTk6z4yLBBwAAAFpg1KhROnDggGbNmiWHw6Hk5GRt3LjRfSPt/v37FRb274aZQYMGacWKFZo5c6ZmzJihnj17au3aterbt68kKTw8XO+//76eeeYZHTx4UJ06ddKAAQP0xhtv6JJLLml2XCT4AAAAMJWWPpjqVGu2RH5+vvLz872+V1ZWdtKxnJycJqvxdrtdL774YssC+QF68AEAAAALoYIPAAAAczlLevDPViFL8F3ffCuX7btQXT6owjp0CHUIQdenrD7UIQTVnpTGUIcAnFKn/+sY6hCC6svLD4U6hKC7aOKOUIcQVBbKl7y6re+1oQ4haL4zGiU9F+owmmQzDNmMwP6GBXq9UKJFBwAAALAQWnQAAABgLrTo+EQFHwAAALAQKvgAAAAwlbNpm8yzERV8AAAAwEKo4AMAAMBc6MH3iQo+AAAAYCFU8AEAAGAq9OD7RoIPAAAAc6FFxydadAAAAAALoYIPAAAAU6FFxzcq+AAAAICFUMEHAACAudCD7xMVfAAAAMBCqOADAADAdKzUMx9oVPABAAAAC6GCDwAAAHMxjOMj0GtaBAk+AAAATIVtMn2jRQcAAACwECr4AAAAMBe2yfSJCj4AAABgIVTwAQAAYCo21/ER6DWtggo+AAAAYCF+JfizZ8+WzWbzGL169QpWbAAAAMDJjCANi/C7ReeSSy7Ra6+99u8FWtHlAwAAAJwt/M7OW7Vqpbi4uGDEAgAAAJwS++D75ncP/kcffaT4+Hidf/75GjNmjPbv3+9zfkNDg+rq6jwGAAAA0GInnmQb6GERfiX4aWlpevrpp7Vx40YtWrRIe/fu1ZVXXqnDhw83eU5RUZGio6PdIyEh4bSDBgAAAOCdXwn+sGHDlJOTo0svvVSZmZnasGGDvv76a/3pT39q8pzp06ertrbWPaqqqk47aAAAAPx4nWjRCfSwitO6Q/YnP/mJLrroIn388cdNzomMjFRkZOTpXAYAAABAM53WPvhHjhzRJ598oi5dugQqHgAAAMA3tsn0ya8E/ze/+Y02b96sffv2aevWrbrxxhsVHh6u3NzcYMUHAAAAwA9+teh89tlnys3N1Zdffqlzzz1XV1xxhbZt26Zzzz03WPEBAAAAHtgm0ze/EvyVK1cGKw4AAAAAAcBjaAEAAGAuwdi33kL74JPgAwAAwFRo0fHttHbRAQAAAHB2oYIPAAAAcwnGtpZU8AEAAACUlJQoMTFRdrtdaWlp2r59u8/5q1evVq9evWS329WvXz9t2LDB/d6xY8d07733ql+/fmrXrp3i4+M1btw4ffHFF37FRIIPAAAAUznRgx/o4a9Vq1apoKBAhYWFqqysVFJSkjIzM1VTU+N1/tatW5Wbm6sJEyZo165dys7OVnZ2tvbs2SNJ+uabb1RZWan7779flZWVevHFF/XBBx9oxIgRfn4/xpm9Zbiurk7R0dG6Sjeola31mbz0GRPWoUOoQwi6PmX1oQ4hqPakuEIdAnBKnf6vY6hDCKovLz8U6hAAn8KjokIdQtB8ZzSqtO451dbWKuos+pwn8shBmf9PrVrbA7r2d8eOauurs/z6zGlpaRowYICKi4slSS6XSwkJCbrzzjs1bdq0k+aPGjVK9fX1Wr9+vfvYT3/6UyUnJ2vx4sVer7Fjxw4NHDhQn376qbp169asuKjgAwAAwFxcRnCGjv8h4oejoaHBawiNjY2qqKhQRkaG+1hYWJgyMjJUXl7u9Zzy8nKP+ZKUmZnZ5HxJqq2tlc1m009+8pNmfz0k+AAAAMD3EhISFB0d7R5FRUVe5x08eFBOp1OxsbEex2NjY+VwOLye43A4/Jp/9OhR3XvvvcrNzfXrb1LYRQcAAADmEsRddKqqqjyS6cjIyABfqHmOHTumkSNHyjAMLVq0yK9zSfABAABgKjYF4UFX3/9vVFRUs6rlMTExCg8PV3V1tcfx6upqxcXFeT0nLi6uWfNPJPeffvqp/va3v/l9HwQtOgAAAICfIiIilJKSotLSUvcxl8ul0tJSpaenez0nPT3dY74kbdq0yWP+ieT+o48+0muvvaZOnTr5HRsVfAAAAJiLYRwfgV7TTwUFBRo/frxSU1M1cOBALViwQPX19crLy5MkjRs3Tl27dnX38U+ePFlDhgzRvHnzNHz4cK1cuVI7d+7UkiVLJB1P7n/1q1+psrJS69evl9PpdPfnn3POOYqIiGhWXCT4AAAAQAuMGjVKBw4c0KxZs+RwOJScnKyNGze6b6Tdv3+/wsL+3TAzaNAgrVixQjNnztSMGTPUs2dPrV27Vn379pUkff7551q3bp0kKTk52eNar7/+uq666qpmxUWCDwAAAFNp6YOpTrVmS+Tn5ys/P9/re2VlZScdy8nJUU5Ojtf5iYmJCsQjqujBBwAAACyECj4AAADMJYjbZFoBFXwAAADAQqjgAwAAwFRshiFbgHfRCfR6oUSCDwAAAHNxfT8CvaZF0KIDAAAAWEjIKvg/2dRRrds1b7N+szl0+VehDiHo9qSEOgIAX15+KNQh4DTZWln7L9Jz3vks1CEE1Z96hzqC4HEax0Idgk+06PhGBR8AAACwEGuXDgAAAGA9bJPpExV8AAAAwEKo4AMAAMBcDOP4CPSaFkEFHwAAALAQKvgAAAAwFZtxfAR6TasgwQcAAIC50KLjEy06AAAAgIVQwQcAAICp2FzHR6DXtAoq+AAAAICFUMEHAACAudCD7xMVfAAAAMBCqOADAADAXIzvR6DXtAgq+AAAAICFUMEHAACAqdgMQ7YA98wHer1QooIPAAAAWAgVfAAAAJgLu+j4RIIPAAAAczEkBfrBVNbJ72nRAQAAAKyECj4AAABMhZtsfaOCDwAAAFgIFXwAAACYi6Eg3GQb2OVCiQo+AAAAYCFU8AEAAGAubJPpk98V/M8//1w333yzOnXqpDZt2qhfv37auXNnMGIDAAAA4Ce/KviHDh3S5ZdfrqFDh+qVV17Rueeeq48++kgdO3YMVnwAAACAJ5ckWxDWtAi/EvxHHnlECQkJWr58uftYjx49Ah4UAAAA0BS2yfTNrxaddevWKTU1VTk5OercubMuu+wyPfXUUz7PaWhoUF1dnccAAAAAEBx+Jfj//Oc/tWjRIvXs2VOvvvqq7rjjDt1111165plnmjynqKhI0dHR7pGQkHDaQQMAAOBH7MRNtoEeFuFXgu9yudS/f3899NBDuuyyy3Tbbbdp4sSJWrx4cZPnTJ8+XbW1te5RVVV12kEDAAAA8M6vHvwuXbqoT58+Hsd69+6tv/zlL02eExkZqcjIyJZFBwAAAPwntsn0ya8K/uWXX64PPvjA49iHH36o7t27BzQoAAAAAC3jVwX/7rvv1qBBg/TQQw9p5MiR2r59u5YsWaIlS5YEKz4AAADAExV8n/yq4A8YMEBr1qzRCy+8oL59+2ru3LlasGCBxowZE6z4AAAAAPjB7yfZXnfddXrnnXd09OhRvffee5o4cWIw4gIAAAC8cwVptEBJSYkSExNlt9uVlpam7du3+5y/evVq9erVS3a7Xf369dOGDRs83n/xxRd1zTXXqFOnTrLZbNq9e7ffMfmd4AMAAAChdOJBV4Ee/lq1apUKCgpUWFioyspKJSUlKTMzUzU1NV7nb926Vbm5uZowYYJ27dql7OxsZWdna8+ePe459fX1uuKKK/TII4+0+PshwQcAAABaYP78+Zo4caLy8vLUp08fLV68WG3bttWyZcu8zl+4cKGysrI0depU9e7dW3PnzlX//v1VXFzsnjN27FjNmjVLGRkZLY6LBB8AAADmEsQHXdXV1XmMhoYGryE0NjaqoqLCIxEPCwtTRkaGysvLvZ5TXl5+UuKemZnZ5PyWIsEHAAAAvpeQkKDo6Gj3KCoq8jrv4MGDcjqdio2N9TgeGxsrh8Ph9RyHw+HX/Jbya5tMAAAAIORchmQL8LaWruPrVVVVKSoqyn3YjA9sJcEHAAAAvhcVFeWR4DclJiZG4eHhqq6u9jheXV2tuLg4r+fExcX5Nb+laNEBAACAuQSxB7+5IiIilJKSotLSUvcxl8ul0tJSpaenez0nPT3dY74kbdq0qcn5LUUFHwAAAGiBgoICjR8/XqmpqRo4cKAWLFig+vp65eXlSZLGjRunrl27uvv4J0+erCFDhmjevHkaPny4Vq5cqZ07d2rJkiXuNb/66ivt379fX3zxhSTpgw8+kHS8+t/cSj8JPgAAAEzG/4p7s9b006hRo3TgwAHNmjVLDodDycnJ2rhxo/tG2v379yss7N8NM4MGDdKKFSs0c+ZMzZgxQz179tTatWvVt29f95x169a5/4AgSaNHj5YkFRYWavbs2c2Ky2YYAf92fKqrq1N0dLSyN92i1u0izuSlz5hDl38V6hAAACZga2XtOlvOO5+FOoSg+lPvwPZNn02+M46pTC+ptra2Wf3oZ8qJPDKjx51qFRbYm1+/czXotb2Pn3WfuSXowQcAAAAsxNqlAwAAAFiPy1BLWmpOvaY1UMEHAAAALIQKPgAAAMzFcB0fgV7TIqjgAwAAABZCBR8AAADm0oIHUzVrTYuggg8AAABYCBV8AAAAmAu76PhEgg8AAABzoUXHJ1p0AAAAAAs54xV84/s/HR2rbzzTlz5jvjOOhToEAIAJ2CxUMfTm2yPfhTqEoLLyf++/0/HPZpytv6OGglDBD+xyoXTGE/zDhw9Lkl7OXnGmLw0AwNnF2vmvXk8NdQQ4XYcPH1Z0dHSow4CfzniCHx8fr6qqKnXo0EE2my3o16urq1NCQoKqqqoUFRUV9Osh8PgZmhs/P/PjZ2h+/AzNLRQ/P8MwdPjwYcXHx5+R6/mNHnyfzniCHxYWpvPOO+9MX1ZRUVH8S83k+BmaGz8/8+NnaH78DM3tTP/8qNybF7voAAAAwFxcLkmuIKxpDeyiAwAAAFiI5Sv4kZGRKiwsVGRkZKhDQQvxMzQ3fn7mx8/Q/PgZmhs/Py/owffJZpy1+x8BAAAA/1ZXV6fo6GhlxNyqVmERAV37O1ejXju4TLW1taa/V4UWHQAAAMBCLN+iAwAAAItxGQr4k6lc1mlqoYIPAAAAWAgVfAAAAJiKYbhkGIHd1jLQ64WSpSv4JSUlSkxMlN1uV1pamrZv3x7qkNBMRUVFGjBggDp06KDOnTsrOztbH3zwQajDwml4+OGHZbPZNGXKlFCHAj98/vnnuvnmm9WpUye1adNG/fr1086dO0MdFprB6XTq/vvvV48ePdSmTRtdcMEFmjt3rthb4+y1ZcsWXX/99YqPj5fNZtPatWs93jcMQ7NmzVKXLl3Upk0bZWRk6KOPPgpNsDirWTbBX7VqlQoKClRYWKjKykolJSUpMzNTNTU1oQ4NzbB582ZNmjRJ27Zt06ZNm3Ts2DFdc801qq+vD3VoaIEdO3boySef1KWXXhrqUOCHQ4cO6fLLL1fr1q31yiuv6N1339W8efPUsWPHUIeGZnjkkUe0aNEiFRcX67333tMjjzyiRx99VI8//nioQ0MT6uvrlZSUpJKSEq/vP/roo3rssce0ePFivfXWW2rXrp0yMzN19OjRMxzpWcAwjvfMB3JY6A+/lt0mMy0tTQMGDFBxcbEkyeVyKSEhQXfeeaemTZsW4ujgrwMHDqhz587avHmzBg8eHOpw4IcjR46of//+euKJJ/TAAw8oOTlZCxYsCHVYaIZp06bp//7v//TGG2+EOhS0wHXXXafY2FgtXbrUfeyXv/yl2rRpo+eeey6EkaE5bDab1qxZo+zsbEnHq/fx8fG655579Jvf/EaSVFtbq9jYWD399NMaPXp0CKM9c05sk/mzn4xTK1uAt8k0GlX69bNsk3m2amxsVEVFhTIyMtzHwsLClJGRofLy8hBGhpaqra2VJJ1zzjkhjgT+mjRpkoYPH+7xzyPMYd26dUpNTVVOTo46d+6syy67TE899VSow0IzDRo0SKWlpfrwww8lSX//+9/15ptvatiwYSGODC2xd+9eORwOj3+XRkdHKy0t7ceZ25x40FWgh0VY8ibbgwcPyul0KjY21uN4bGys3n///RBFhZZyuVyaMmWKLr/8cvXt2zfU4cAPK1euVGVlpXbs2BHqUNAC//znP7Vo0SIVFBRoxowZ2rFjh+666y5FRERo/PjxoQ4PpzBt2jTV1dWpV69eCg8Pl9Pp1IMPPqgxY8aEOjS0gMPhkCSvuc2J935UXC7JFuCbYi10k60lE3xYy6RJk7Rnzx69+eaboQ4FfqiqqtLkyZO1adMm2e32UIeDFnC5XEpNTdVDDz0kSbrsssu0Z88eLV68mATfBP70pz/p+eef14oVK3TJJZdo9+7dmjJliuLj4/n5ARZnyRadmJgYhYeHq7q62uN4dXW14uLiQhQVWiI/P1/r16/X66+/rvPOOy/U4cAPFRUVqqmpUf/+/dWqVSu1atVKmzdv1mOPPaZWrVrJ6XSGOkScQpcuXdSnTx+PY71799b+/ftDFBH8MXXqVE2bNk2jR49Wv379NHbsWN19990qKioKdWhogRP5C7nN92jR8cmSCX5ERIRSUlJUWlrqPuZyuVRaWqr09PQQRobmMgxD+fn5WrNmjf72t7+pR48eoQ4JfvrZz36md955R7t373aP1NRUjRkzRrt371Z4eHioQ8QpXH755SdtT/vhhx+qe/fuIYoI/vjmm28UFub5n/nw8HC5XNZpQ/gx6dGjh+Li4jxym7q6Or311lvkNjiJZVt0CgoKNH78eKWmpmrgwIFasGCB6uvrlZeXF+rQ0AyTJk3SihUr9NJLL6lDhw7u/sLo6Gi1adMmxNGhOTp06HDSPRPt2rVTp06duJfCJO6++24NGjRIDz30kEaOHKnt27dryZIlWrJkSahDQzNcf/31evDBB9WtWzddcskl2rVrl+bPn69bb7011KGhCUeOHNHHH3/sfr13717t3r1b55xzjrp166YpU6bogQceUM+ePdWjRw/df//9io+Pd++082NiuFwyAtyDb6UHXVl2m0xJKi4u1m9/+1s5HA4lJyfrscceU1paWqjDQjPYbDavx5cvX65bbrnlzAaDgLnqqqvYJtNk1q9fr+nTp+ujjz5Sjx49VFBQoIkTJ4Y6LDTD4cOHdf/992vNmjWqqalRfHy8cnNzNWvWLEVEBHZ7QQRGWVmZhg4detLx8ePH6+mnn5ZhGCosLNSSJUv09ddf64orrtATTzyhiy66KATRhsaJbTKvbjs6KNtk/u2blZbYJtPSCT4AAACsw53gtxkVnAT/21WWSPAt2YMPAAAA/FhZtgcfAAAAFuUyJFuAm1As1NRCgg8AAABzMQxJgX7QlXUSfFp0AAAAAAuhgg8AAABTMVyGjAC36Fhp3xkq+AAAAICFUMEHAACAuRguBb4H3zoPuqKCDwAAAFgICT4AAABMxXAZQRktUVJSosTERNntdqWlpWn79u0+569evVq9evWS3W5Xv379tGHDBs/PZhiaNWuWunTpojZt2igjI0MfffSRXzGR4AMAAAAtsGrVKhUUFKiwsFCVlZVKSkpSZmamampqvM7funWrcnNzNWHCBO3atUvZ2dnKzs7Wnj173HMeffRRPfbYY1q8eLHeeusttWvXTpmZmTp69Giz47IZVrplGAAAAJZVV1en6OhoXaUb1MrWOqBrf2ccU5leUm1traKiopp1TlpamgYMGKDi4mJJksvlUkJCgu68805NmzbtpPmjRo1SfX291q9f7z7205/+VMnJyVq8eLEMw1B8fLzuuece/eY3v5Ek1dbWKjY2Vk8//bRGjx7drLio4AMAAMBUvtMxfWcEeOiYpON/iPjhaGho8BpDY2OjKioqlJGR4T4WFhamjIwMlZeXez2nvLzcY74kZWZmuufv3btXDofDY050dLTS0tKaXNMbdtEBAACAKURERCguLk5vOjacenILtG/fXgkJCR7HCgsLNXv27JPmHjx4UE6nU7GxsR7HY2Nj9f7773td3+FweJ3vcDjc75841tSc5iDBBwAAgCnY7Xbt3btXjY2NQVnfMAzZbDaPY5GRkUG5VjCR4AMAAMA07Ha77HZ7qMNQTEyMwsPDVV1d7XG8urpacXFxXs+Ji4vzOf/E/1ZXV6tLly4ec5KTk5sdGz34AAAAgJ8iIiKUkpKi0tJS9zGXy6XS0lKlp6d7PSc9Pd1jviRt2rTJPb9Hjx6Ki4vzmFNXV6e33nqryTW9oYIPAAAAtEBBQYHGjx+v1NRUDRw4UAsWLFB9fb3y8vIkSePGjVPXrl1VVFQkSZo8ebKGDBmiefPmafjw4Vq5cqV27typJUuWSJJsNpumTJmiBx54QD179lSPHj10//33Kz4+XtnZ2c2OiwQfAAAAaIFRo0bpwIEDmjVrlhwOh5KTk7Vx40b3TbL79+9XWNi/G2YGDRqkFStWaObMmZoxY4Z69uyptWvXqm/fvu45//M//6P6+nrddttt+vrrr3XFFVdo48aNfrUlsQ8+AAAAYCH04AMAAAAWQoIPAAAAWAgJPgAAAGAhJPgAAACAhZDgAwAAABZCgg8AAABYCAk+AAAAYCEk+AAAAICFkOADAAAAFkKCDwAAAFgICT4AAABgIf8fjbP2q/85pEkAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAHqCAYAAABx1DruAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLF0lEQVR4nO3df1xUddr/8feAwvgL1iRBDMXKUtMgQVmsNFs2MMtod1HJ1Mjbtm4pjdY7NRP9WlHt6mpBmq1abZmuu2neZrbGhtYtpoJuuf1uNal2QMtAKcFmzvcPc7ZZh5HBGcdzej0fj89jd858zudcM1BdXl7nc2yGYRgCAAAAYAlhoQ4AAAAAQOCQ4AMAAAAWQoIPAAAAWAgJPgAAAGAhJPgAAACAhZDgAwAAABZCgg8AAABYCAk+AAAAYCGtQh0AAAAA0FxHjx5VY2NjUNaOiIiQ3W4PytpnEgk+AAAATOHo0aPq0b29HDXOoKwfFxenvXv3mj7JJ8EHAACAKTQ2NspR49Teiu6K6hDYTvO6wy71SPlUjY2NJPgAAADAmRTVISzgCb6VkOADAADAVJyGS04j8GtaBX/0AQAAACyECj4AAABMxSVDLgW2hB/o9UKJCj4AAABgIVTwAQAAYCouuRTojvnArxg6VPABAAAAC6GCDwAAAFNxGoacRmB75gO9XiiR4AMAAMBUuMnWN1p0APjl6aefls1m0759+35U1w6WxMRE3XLLLe7XZWVlstlsKisrC1lMZ5vZs2fLZrOFOgwAMA0SfMDk/vGPf+jmm29W165dFRkZqfj4eI0ZM0b/+Mc/Tmvdhx56SGvXrg1MkCGye/du3XzzzUpISFBkZKTOOeccZWRkaPny5XI6naEO76xz4g9QNptNb7755knvG4ahhIQE2Ww2XXfddS26hhV+rwCEnkuGnAEeVPABnBVefPFF9e/fX6WlpcrLy9MTTzyhCRMm6PXXX1f//v21Zs2aFq/dVCI2duxYffvtt+revftpRB58f/jDH5SamqrXX39dY8aM0RNPPKFZs2apTZs2mjBhgh555JFQh+jV4MGD9e2332rw4MEhi8Fut2vFihUnHd+8ebM+++wzRUZGtnjtliT4M2fO1LffftviawLAjw09+IBJffLJJxo7dqzOP/98bdmyReeee677vcmTJ+vKK6/U2LFj9fbbb+v8888P2HXDw8MVHh4esPWCYdu2bbr99tuVnp6uDRs2qEOHDu73pkyZop07d2rPnj0hjLBpYWFhstvtIY3h2muv1erVq/XYY4+pVat//2dixYoVSklJ0cGDB89IHPX19WrXrp1atWrlEQcA0IPvGxV8wKR++9vf6ptvvtGSJUs8kntJiomJ0ZNPPqn6+no9+uij7uMnepnff/99jRw5UlFRUerUqZMmT56so0ePuufZbDbV19frmWeecbdsnOgT99YHn5iYqOuuu05lZWVKTU1VmzZt1K9fP3cf+Ysvvqh+/frJbrcrJSVFu3bt8oj37bff1i233KLzzz9fdrtdcXFxuvXWW/Xll1+26LuZM2eObDabnn/+eY/k/oTU1FSPvvf6+nrdc8897laeiy++WL/73e9k/GBHhX379slms+npp58+aT2bzabZs2e7Xzf3e/bGWw/+VVddpb59++rdd9/V0KFD1bZtW3Xt2tXjZ3vCp59+qhEjRqhdu3bq3Lmz7r77br366qt+9fXn5ubqyy+/1KZNm9zHGhsb9ec//1k33XST13N+97vfadCgQerUqZPatGmjlJQU/fnPf/aY4+v36sR39u677+qmm25Sx44ddcUVV3i8d8Ly5ctls9m0bNkyj/Ufeugh2Ww2bdiwoVmfEwCsigQfMKn//d//VWJioq688kqv7w8ePFiJiYl6+eWXT3pv5MiROnr0qIqKinTttdfqscce02233eZ+/49//KMiIyN15ZVX6o9//KP++Mc/6te//rXPeD7++GPddNNNuv7661VUVKRDhw7p+uuv1/PPP6+7775bN998s+bMmaNPPvlEI0eOlMv17weKbNq0Sf/85z+Vl5enxx9/XKNHj9bKlSt17bXXeiTZzfHNN9+otLRUgwcPVrdu3U453zAMjRgxQr///e+VlZWl+fPn6+KLL9bUqVNVUFDg17X/06m+Z38cOnRIWVlZSkpK0rx589SrVy/de++9euWVV9xz6uvrdfXVV+u1117TXXfdpfvuu09bt27Vvffe69e1EhMTlZ6erhdeeMF97JVXXlFtba1Gjx7t9ZyFCxfqsssu0//7f/9PDz30kFq1aqWcnByP37/m/F7l5OTom2++0UMPPaSJEyd6vVZeXp6uu+46FRQUqKqqSpL0zjvvaM6cOZowYYKuvfZavz4vAPM5sU1moIdlGABM5+uvvzYk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6Gi1adMmxNGhOTp06HDSPRPt2rVTp06duJfCJO6++24NGjRIDz30kEaOHKnt27dryZIlWrJkSahDQzNcf/31evDBB9WtWzddcskl2rVrl+bPn69bb7011KGhCUeOHNHHH3/sfr13717t3r1b55xzjrp166YpU6bogQceUM+ePdWjRw/df//9io+Pd++082NiuFwyAtyDb6UHXVl2m0xJKi4u1m9/+1s5HA4lJyfrscceU1paWqjDQjPYbDavx5cvX65bbrnlzAaDgLnqqqvYJtNk1q9fr+nTp+ujjz5Sjx49VFBQoIkTJ4Y6LDTD4cOHdf/992vNmjWqqalRfHy8cnNzNWvWLEVEBHZ7QQRGWVmZhg4detLx8ePH6+mnn5ZhGCosLNSSJUv09ddf64orrtATTzyhiy66KATRhsaJbTKvbjs6KNtk/u2blZbYJtPSCT4AAACsw53gtxkVnAT/21WWSPAt2YMPAAAA/FhZtgcfAAAAFuUyJFuAm1As1NRCgg8AAABzMQxJgX7QlXUSfFp0AAAAAAuhgg8AAABTMVyGjAC36Fhp3xkq+AAAAICFUMEHAACAuRguBb4H3zoPuqKCDwAAAFgICT4AAABMxXAZQRktUVJSosTERNntdqWlpWn79u0+569evVq9evWS3W5Xv379tGHDBs/PZhiaNWuWunTpojZt2igjI0MfffSRXzGR4AMAAAAtsGrVKhUUFKiwsFCVlZVKSkpSZmamampqvM7funWrcnNzNWHCBO3atUvZ2dnKzs7Wnj173HMeffRRPfbYY1q8eLHeeusttWvXTpmZmTp69Giz47IZVrplGAAAAJZVV1en6OhoXaUb1MrWOqBrf2ccU5leUm1traKiopp1TlpamgYMGKDi4mJJksvlUkJCgu68805NmzbtpPmjRo1SfX291q9f7z7205/+VMnJyVq8eLEMw1B8fLzuuece/eY3v5Ek1dbWKjY2Vk8//bRGjx7drLio4AMAAMBUvtMxfWcEeOiYpON/iPjhaGho8BpDY2OjKioqlJGR4T4WFhamjIwMlZeXez2nvLzcY74kZWZmuufv3btXDofDY050dLTS0tKaXNMbdtEBAACAKURERCguLk5vOjacenILtG/fXgkJCR7HCgsLNXv27JPmHjx4UE6nU7GxsR7HY2Nj9f7773td3+FweJ3vcDjc75841tSc5iDBBwAAgCnY7Xbt3btXjY2NQVnfMAzZbDaPY5GRkUG5VjCR4AMAAMA07Ha77HZ7qMNQTEyMwsPDVV1d7XG8urpacXFxXs+Ji4vzOf/E/1ZXV6tLly4ec5KTk5sdGz34AAAAgJ8iIiKUkpKi0tJS9zGXy6XS0lKlp6d7PSc9Pd1jviRt2rTJPb9Hjx6Ki4vzmFNXV6e33nqryTW9oYIPAAAAtEBBQYHGjx+v1NRUDRw4UAsWLFB9fb3y8vIkSePGjVPXrl1VVFQkSZo8ebKGDBmiefPmafjw4Vq5cqV27typJUuWSJJsNpumTJmiBx54QD179lSPHj10//33Kz4+XtnZ2c2OiwQfAAAAaIFRo0bpwIEDmjVrlhwOh5KTk7Vx40b3TbL79+9XWNi/G2YGDRqkFStWaObMmZoxY4Z69uyptWvXqm/fvu45//M//6P6+nrddttt+vrrr3XFFVdo48aNfrUlsQ8+AAAAYCH04AMAAAAWQoIPAAAAWAgJPgAAAGAhJPgAAACAhZDgAwAAABZCgg8AAABYCAk+AAAAYCEk+AAAAICFkOADAAAAFkKCDwAAAFgICT4AAABgIf8fjbP2q/85pEkAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -225,12 +210,11 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "0ef65792", "metadata": {}, "source": [ - "`ot` stores many more things, notably a lower as well as an upper bound of the \"true\" squared 2-Wasserstein metric between `x` and `y` (the gap between these two bounds can be made arbitrarily small as `epsilon` decreases, when `geom` is instantiated)." + "`ot` stores many more things, notably a lower, as well as an upper bound of the \"true\" squared 2-Wasserstein metric between `x` and `y` (the gap between these two bounds can be made arbitrarily small as `epsilon` decreases, when `geom` is instantiated)." ] }, { @@ -254,14 +238,13 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "222f5e56", "metadata": {}, "source": [ - "## Automatic Differentiation using `JAX`\n", + "## Automatic differentiation using `JAX`\n", "\n", - "We finish this quick tour by illustrating one of the main features of `OTT`: it can be seamlessly integrated into differentiable, end-to-end architectures built using `JAX` (see also {doc}`Hessians`) for an example exploiting implicit differentiation).\n", + "We finish this quick tour by illustrating one of the main features of {mod}`ott`: it can be seamlessly integrated into differentiable, end-to-end architectures built using `JAX` (see also {doc}`Hessians`) for an example exploiting implicit differentiation).\n", "\n", "We provide a simple use-case where we differentiate the (regularized) OT transport cost w.r.t. `x`,\n", "by defining a function that takes `x` and `y` as input, to output their regularized OT cost." @@ -274,21 +257,20 @@ "metadata": {}, "outputs": [], "source": [ - "def reg_ot_cost(x, y):\n", + "def reg_ot_cost(x: jnp.ndarray, y: jnp.ndarray) -> float:\n", " geom = pointcloud.PointCloud(x, y)\n", " ot = sinkhorn.solve(geom)\n", " return ot.reg_ot_cost" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "a3890853", "metadata": {}, "source": [ - "Obtaining the gradient *function* of `reg_ot_cost` is as easy as making a call to `jax.grad` on `reg_ot_cost`, e.g. `jax.grad(reg_ot_cost)`. \n", + "Obtaining the gradient *function* of `reg_ot_cost` is as easy as making a call to {func}`jax.grad` on `reg_ot_cost`, e.g. `jax.grad(reg_ot_cost)`. \n", "\n", - "We use `jax.value_and_grad` below to also store the value of the output itself. Note that by default, `JAX` only computes the gradient w.r.t the *first* of variable of `reg_ot_cost` , here `x`." + "We use {func}`jax.value_and_grad` below to also store the value of the output itself. Note that by default, `JAX` only computes the gradient w.r.t the *first* of variable of `reg_ot_cost` , here `x`." ] }, { @@ -298,20 +280,19 @@ "metadata": {}, "outputs": [], "source": [ - "# Value and gradient *function*\n", + "# value and gradient *function*\n", "r_ot = jax.value_and_grad(reg_ot_cost)\n", - "# Evaluate it at `(x,y)`.\n", + "# evaluate it at `(x, y)`.\n", "cost, grad_x = r_ot(x, y)\n", "assert grad_x.shape == x.shape" ] }, { - "attachments": {}, "cell_type": "markdown", "id": "915fa745", "metadata": {}, "source": [ - "`grad_x` is a matrix that has the same size as `x`. Updating `x` with the opposite of that gradient decreases the loss. This process can done iteratively, following a gradient flow, to push point-cloud `x` closer to `y`." + "`grad_x` is a matrix that has the same size as `x`. Updating `x` with the opposite of that gradient decreases the loss. This process can done iteratively, following a gradient flow, to push `x` closer to `y`." ] }, { @@ -322,7 +303,7 @@ "outputs": [ { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
" ] @@ -336,6 +317,7 @@ "x = x_old\n", "quiv_args = {\"scale\": 1, \"angles\": \"xy\", \"scale_units\": \"xy\", \"width\": 0.005}\n", "f, axes = plt.subplots(1, 3, sharey=True, sharex=True, figsize=(12, 4))\n", + "\n", "for iteration, ax in enumerate(axes):\n", " cost, grad_x = r_ot(x, y)\n", " ax.scatter(x[:, 0], x[:, 1], **x_args)\n", @@ -352,15 +334,14 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "251c4917", "metadata": {}, "source": [ "# Going further\n", "\n", - "This tutorial gave you a glimpse of the most basic features of `OTT` and how they integrate with `JAX`.\n", - "`OTT` implements many other functionalities, including extensions of the base optimal transport problem such as, for instance,\n", + "This tutorial gave you a glimpse of the most basic features of {mod}`ott` and how they integrate with `JAX`.\n", + "{mod}`ott` implements many other functionalities, including extensions of the base optimal transport problem such as:\n", "- More general cost functions in {doc}`point_clouds`,\n", "- {doc}`gromov_wasserstein`, to compare distributions defined on incomparable spaces.\n", "- {doc}`LRSinkhorn` for faster solvers that exploit a low-rank factorization of coupling matrices,\n", @@ -368,17 +349,11 @@ "- Differentiable sorting in {doc}`soft_sort`,\n", "- Neural solvers in {doc}`neural_dual`, to estimate maps in functional form." ] - }, - { - "cell_type": "markdown", - "id": "af65d9a7", - "metadata": {}, - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, From b84f08407dfbd88f5013dc6a679db5bad44eb508 Mon Sep 17 00:00:00 2001 From: Michal Klein <46717574+michalk8@users.noreply.github.com> Date: Wed, 15 Mar 2023 10:54:45 +0100 Subject: [PATCH 4/5] Update pygments style --- docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 6411745c7..0d3fc1bc0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -152,6 +152,8 @@ "path_to_docs": "docs/", "use_repository_button": True, "use_fullscreen_button": False, + "pygment_light_style": "tango", + "pygment_dark_style": "monokai", "launch_buttons": { "colab_url": "https://colab.research.google.com", "binderhub_url": "https://mybinder.org", From 27bf935b1479e403d3e7a93dd746e10a5c89dd14 Mon Sep 17 00:00:00 2001 From: Michal Klein <46717574+michalk8@users.noreply.github.com> Date: Wed, 15 Mar 2023 11:34:44 +0100 Subject: [PATCH 5/5] Remove `jit` from tests --- tests/geometry/graph_test.py | 2 +- tests/solvers/linear/sinkhorn_diff_test.py | 5 +---- tests/solvers/linear/sinkhorn_test.py | 3 +-- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/tests/geometry/graph_test.py b/tests/geometry/graph_test.py index 80a7fb8ee..0c71fc443 100644 --- a/tests/geometry/graph_test.py +++ b/tests/geometry/graph_test.py @@ -207,7 +207,7 @@ def laplacian(G: jnp.ndarray) -> jnp.ndarray: def test_graph_sinkhorn(self, rng: jax.random.PRNGKeyArray, jit: bool): def callback(geom: geometry.Geometry) -> sinkhorn.SinkhornOutput: - solver = sinkhorn.Sinkhorn(lse_mode=False, jit=False) + solver = sinkhorn.Sinkhorn(lse_mode=False) problem = linear_problem.LinearProblem(geom) return solver(problem) diff --git a/tests/solvers/linear/sinkhorn_diff_test.py b/tests/solvers/linear/sinkhorn_diff_test.py index 8512dcdae..6a0fdf6dc 100644 --- a/tests/solvers/linear/sinkhorn_diff_test.py +++ b/tests/solvers/linear/sinkhorn_diff_test.py @@ -157,8 +157,7 @@ def test_autograd_sinkhorn( def reg_ot(a: jnp.ndarray, b: jnp.ndarray) -> float: geom = pointcloud.PointCloud(x, y, epsilon=1e-1) prob = linear_problem.LinearProblem(geom, a=a, b=b) - # TODO: fails with `jit=True`, investigate - solver = sinkhorn.Sinkhorn(lse_mode=lse_mode, jit=False) + solver = sinkhorn.Sinkhorn(lse_mode=lse_mode) return solver(prob).reg_ot_cost reg_ot_and_grad = jax.jit(jax.grad(reg_ot)) @@ -275,8 +274,6 @@ def loss_fn(x: jnp.ndarray, lse_mode=lse_mode, min_iterations=min_iter, max_iterations=max_iter, - # TODO(cuturi): figure out why implicit diff breaks when `jit=True` - jit=False, implicit_diff=implicit_diff, ) out = solver(prob) diff --git a/tests/solvers/linear/sinkhorn_test.py b/tests/solvers/linear/sinkhorn_test.py index bf0ff23d7..926f48442 100644 --- a/tests/solvers/linear/sinkhorn_test.py +++ b/tests/solvers/linear/sinkhorn_test.py @@ -465,8 +465,7 @@ def test_sinkhorn_online_memory_jit(self, batch_size: int): y = jax.random.uniform(rngs[1], (m, 2)) geom = pointcloud.PointCloud(x, y, batch_size=batch_size, epsilon=1) problem = linear_problem.LinearProblem(geom) - solver = sinkhorn.Sinkhorn(jit=False) - solver = jax.jit(solver) + solver = jax.jit(sinkhorn.Sinkhorn()) out = solver(problem) assert out.converged