Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
53265db
build wheels on push to master
rflamary Apr 24, 2020
8599e72
correct doc for emd
rflamary Apr 24, 2020
6931f78
better documentation
rflamary Apr 24, 2020
a5b1b18
add ferradans to da classes documentation
rflamary Apr 24, 2020
bed1680
pep8
rflamary Apr 24, 2020
c529ffd
update doc
rflamary Apr 24, 2020
46523dc
add realeases
rflamary Apr 24, 2020
53b063e
better coverage options verbose and log
rflamary Apr 24, 2020
c3115bc
mockj module cupy for gpu focumentation
rflamary Apr 24, 2020
90bd408
pep8
rflamary Apr 24, 2020
17d388b
test raise un partial ot
rflamary Apr 24, 2020
eb3a70a
left some unused variable...
rflamary Apr 24, 2020
6b42088
better documentation
rflamary Apr 24, 2020
2b43492
test options sphinx gallery
rflamary Apr 24, 2020
0d13d60
Better section name + snhix-gallery tuning
rflamary Apr 24, 2020
99e6d91
Better section name + snhix-gallery tuning
rflamary Apr 24, 2020
fe704c3
test autosummary
rflamary Apr 24, 2020
1a3249d
awesome mini gallery
rflamary Apr 24, 2020
b9ad0ee
add template
rflamary Apr 24, 2020
ad7aa89
better doc per module
rflamary Apr 24, 2020
08ec66e
pep8
rflamary Apr 24, 2020
576c3d5
better thumbnail image for gallery
rflamary Apr 24, 2020
e18e18f
test new foldeer
rflamary Apr 24, 2020
a547751
exmaples in sections
rflamary Apr 24, 2020
4bbabc6
relative path exmaples
rflamary Apr 24, 2020
956df7a
vchange path in examples
rflamary Apr 24, 2020
71e7984
update proper links form readme
rflamary Apr 24, 2020
3b0732b
correct url for examples
rflamary Apr 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: Build dist and wheels

on:
release:
push:
branches:
- "master"

jobs:
build_wheels:
Expand Down
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ release_test :
rdoc :
pandoc --from=markdown --to=rst --output=docs/source/readme.rst README.md
sed -i 's,https://pythonot.github.io/auto_examples/,auto_examples/,g' docs/source/readme.rst
pandoc --from=markdown --to=rst --output=docs/source/releases.rst RELEASES.md
sed -i 's,https://pot.readthedocs.io/en/latest/,,g' docs/source/releases.rst
sed -i 's,https://github.com/rflamary/POT/blob/master/notebooks/,auto_examples/,g' docs/source/releases.rst
sed -i 's,.ipynb,.html,g' docs/source/releases.rst
sed -i 's,https://pythonot.github.io/auto_examples/,auto_examples/,g' docs/source/releases.rst

notebook :
ipython notebook --matplotlib=inline --notebook-dir=notebooks/
Expand Down
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,29 @@ POT provides the following generic OT solvers (links to examples):
* [OT Network Simplex solver](https://pythonot.github.io/auto_examples/plot_OT_1D.html) for the linear program/ Earth Movers Distance [1] .
* [Conditional gradient](https://pythonot.github.io/auto_examples/plot_optim_OTreg.html) [6] and [Generalized conditional gradient](https://pythonot.github.io/auto_examples/plot_optim_OTreg.html) for regularized OT [7].
* Entropic regularization OT solver with [Sinkhorn Knopp Algorithm](https://pythonot.github.io/auto_examples/plot_OT_1D.html) [2] , stabilized version [9] [10], greedy Sinkhorn [22] and [Screening Sinkhorn [26] ](https://pythonot.github.io/auto_examples/plot_screenkhorn_1D.html) with optional GPU implementation (requires cupy).
* Bregman projections for [Wasserstein barycenter](https://pythonot.github.io/auto_examples/plot_barycenter_lp_vs_entropic.html) [3], [convolutional barycenter](https://pythonot.github.io/auto_examples/plot_convolutional_barycenter.html) [21] and unmixing [4].
* Bregman projections for [Wasserstein barycenter](https://pythonot.github.io/auto_examples/barycenters/plot_barycenter_lp_vs_entropic.html) [3], [convolutional barycenter](https://pythonot.github.io/auto_examples/barycenters/plot_convolutional_barycenter.html) [21] and unmixing [4].
* Sinkhorn divergence [23] and entropic regularization OT from empirical data.
* [Smooth optimal transport solvers](https://pythonot.github.io/auto_examples/plot_OT_1D_smooth.html) (dual and semi-dual) for KL and squared L2 regularizations [17].
* Non regularized [Wasserstein barycenters [16] ](https://pythonot.github.io/auto_examples/plot_barycenter_lp_vs_entropic.html)) with LP solver (only small scale).
* [Gromov-Wasserstein distances](https://pythonot.github.io/auto_examples/plot_gromov.html) and [GW barycenters](https://pythonot.github.io/auto_examples/plot_gromov_barycenter.html) (exact [13] and regularized [12])
* [Fused-Gromov-Wasserstein distances solver](https://pythonot.github.io/auto_examples/plot_fgw.html#sphx-glr-auto-examples-plot-fgw-py) and [FGW barycenters](https://pythonot.github.io/auto_examples/plot_barycenter_fgw.html) [24]
* Non regularized [Wasserstein barycenters [16] ](https://pythonot.github.io/auto_examples/barycenters/plot_barycenter_lp_vs_entropic.html)) with LP solver (only small scale).
* [Gromov-Wasserstein distances](https://pythonot.github.io/auto_examples/gromov/plot_gromov.html) and [GW barycenters](https://pythonot.github.io/auto_examples/gromov/plot_gromov_barycenter.html) (exact [13] and regularized [12])
* [Fused-Gromov-Wasserstein distances solver](https://pythonot.github.io/auto_examples/gromov/plot_fgw.html#sphx-glr-auto-examples-plot-fgw-py) and [FGW barycenters](https://pythonot.github.io/auto_examples/gromov/plot_barycenter_fgw.html) [24]
* [Stochastic solver](https://pythonot.github.io/auto_examples/plot_stochastic.html) for Large-scale Optimal Transport (semi-dual problem [18] and dual problem [19])
* Non regularized [free support Wasserstein barycenters](https://pythonot.github.io/auto_examples/plot_free_support_barycenter.html) [20].
* [Unbalanced OT](https://pythonot.github.io/auto_examples/plot_UOT_1D.html) with KL relaxation and [barycenter](https://pythonot.github.io/auto_examples/plot_UOT_barycenter_1D.html) [10, 25].
* [Partial Wasserstein and Gromov-Wasserstein](https://pythonot.github.io/auto_examples/plot_partial_wass_and_gromov.html) (exact [29] and entropic [3]
* Non regularized [free support Wasserstein barycenters](https://pythonot.github.io/auto_examples/barycenters/plot_free_support_barycenter.html) [20].
* [Unbalanced OT](https://pythonot.github.io/auto_examples/unbalanced-partial/plot_UOT_1D.html) with KL relaxation and [barycenter](https://pythonot.github.io/auto_examples/unbalanced-partial/plot_UOT_barycenter_1D.html) [10, 25].
* [Partial Wasserstein and Gromov-Wasserstein](https://pythonot.github.io/auto_examples/unbalanced-partial/plot_partial_wass_and_gromov.html) (exact [29] and entropic [3]
formulations).

POT provides the following Machine Learning related solvers:

* [Optimal transport for domain
adaptation](https://pythonot.github.io/auto_examples/plot_otda_classes.html)
with [group lasso regularization](https://pythonot.github.io/auto_examples/plot_otda_classes.html), [Laplacian regularization](https://pythonot.github.io/auto_examples/plot_otda_laplacian.html) [5] [30] and [semi
supervised setting](https://pythonot.github.io/auto_examples/plot_otda_semi_supervised.html).
* [Linear OT mapping](https://pythonot.github.io/auto_examples/plot_otda_linear_mapping.html) [14] and [Joint OT mapping estimation](https://pythonot.github.io/auto_examples/plot_otda_mapping.html) [8].
* [Wasserstein Discriminant Analysis](https://pythonot.github.io/auto_examples/plot_WDA.html) [11] (requires autograd + pymanopt).
* [JCPOT algorithm for multi-source domain adaptation with target shift](https://pythonot.github.io/auto_examples/plot_otda_jcpot.html) [27].
adaptation](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_classes.html)
with [group lasso regularization](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_classes.html), [Laplacian regularization](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_laplacian.html) [5] [30] and [semi
supervised setting](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_semi_supervised.html).
* [Linear OT mapping](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_linear_mapping.html) [14] and [Joint OT mapping estimation](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_mapping.html) [8].
* [Wasserstein Discriminant Analysis](https://pythonot.github.io/auto_examples/others/plot_WDA.html) [11] (requires autograd + pymanopt).
* [JCPOT algorithm for multi-source domain adaptation with target shift](https://pythonot.github.io/auto_examples/domain-adaptation/plot_otda_jcpot.html) [27].

Some demonstrations are available in the [documentation](https://pythonot.github.io/auto_examples/index.html).
Some other examples are available in the [documentation](https://pythonot.github.io/auto_examples/index.html).

#### Using and citing the toolbox

Expand Down Expand Up @@ -153,7 +153,7 @@ ba=ot.barycenter(A,M,reg) # reg is regularization parameter

### Examples and Notebooks

The examples folder contain several examples and use case for the library. The full documentation is available on [https://PythonOT.github.io/](https://PythonOT.github.io/).
The examples folder contain several examples and use case for the library. The full documentation with examples and output is available on [https://PythonOT.github.io/](https://PythonOT.github.io/).


## Acknowledgements
Expand Down
24 changes: 12 additions & 12 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# POT Releases
# Releases


## 0.6 Year 3


## 0.6
*July 2019*

This is the first official stable release of POT and this means a jump to 0.6!
Expand Down Expand Up @@ -69,7 +71,7 @@ bring new features and solvers to the library.
- Issue #72 Macosx build problem


## 0.5.0 Year 2
## 0.5.0
*Sep 2018*

POT is 2 years old! This release brings numerous new features to the
Expand Down Expand Up @@ -127,7 +129,7 @@ Deprecated OTDA Classes were removed from ot.da and ot.gpu for version 0.5
* Issue #55 : UnicodeDecodeError: 'ascii' while installing with pip


## 0.4 Community edition
## 0.4
*15 Sep 2017*

This release contains a lot of contribution from new contributors.
Expand All @@ -152,7 +154,7 @@ This release contains a lot of contribution from new contributors.

* Correct bug in emd on windows

## 0.3 Summer release
## 0.3
*7 Jul 2017*

* emd* and sinkhorn* are now performed in parallel for multiple target distributions
Expand All @@ -173,32 +175,30 @@ This release contains a lot of contribution from new contributors.



## V0.1.11 New years resolution
## 0.1.11
*5 Jan 2017*

* Add sphinx gallery for better documentation
* Small efficiency tweak in sinkhorn
* Add simple tic() toc() functions for timing


## V0.1.10
## 0.1.10
*7 Nov 2016*
* numerical stabilization for sinkhorn (log domain and epsilon scaling)

## V0.1.9 DA classes and mapping
## 0.1.9
*4 Nov 2016*

* Update classes and examples for domain adaptation
* Joint OT matrix and mapping estimation

## V0.1.7
## 0.1.7
*31 Oct 2016*

* Original Domain adaptation classes



## PyPI version 0.1.3
## 0.1.3

* pipy works

Expand Down
57 changes: 57 additions & 0 deletions docs/source/_templates/module.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{{ fullname }}
{{ underline }}

.. automodule:: {{ fullname }}

{% block functions %}
{% if functions %}

Functions
---------

{% for item in functions %}

.. autofunction:: {{ item }}

.. include:: backreferences/{{fullname}}.{{item}}.examples

.. raw:: html

<div class="sphx-glr-clear"></div>

{%- endfor %}
{% endif %}
{% endblock %}

{% block classes %}
{% if classes %}

Classes
-------

{% for item in classes %}
.. autoclass:: {{ item }}
:members:

.. include:: backreferences/{{fullname}}.{{item}}.examples

.. raw:: html

<div class="sphx-glr-clear"></div>

{%- endfor %}
{% endif %}
{% endblock %}

{% block exceptions %}
{% if exceptions %}

Exceptions
----------

.. autosummary::
{% for item in exceptions %}
{{ item }}
{%- endfor %}
{% endif %}
{% endblock %}
110 changes: 26 additions & 84 deletions docs/source/all.rst
Original file line number Diff line number Diff line change
@@ -1,94 +1,36 @@

.. _sphx_glr_api_reference:

Python modules
==============
API and modules
===============

ot
--
.. currentmodule:: ot

.. automodule:: ot
:members:

ot.lp
-----
.. automodule:: ot.lp
:members:

ot.bregman
----------

.. automodule:: ot.bregman
:members:

ot.smooth
-----
.. automodule:: ot.smooth
:members:

ot.gromov
----------

.. automodule:: ot.gromov
:members:


ot.optim
--------

.. automodule:: ot.optim
:members:

ot.da
--------

.. automodule:: ot.da
:members:
:py:mod:`ot`:

ot.gpu
--------
.. autosummary::
:toctree: gen_modules/
:template: module.rst

.. automodule:: ot.gpu
:members:
lp
bregman
smooth
gromov
optim
da
gpu
dr
utils
datasets
plot
stochastic
unbalanced
partial

ot.dr
--------
.. autosummary::
:toctree: ../modules/generated/
:template: module.rst

.. automodule:: ot.dr
:members:


ot.utils
--------

.. automodule:: ot.utils
:members:

ot.datasets
-----------

.. automodule:: ot.datasets
:members:

ot.plot
-------

.. automodule:: ot.plot
:members:

ot.stochastic
-------------

.. automodule:: ot.stochastic
.. automodule:: ot
:members:

ot.unbalanced
-------------

.. automodule:: ot.unbalanced
:members:

ot.partial
-------------

.. automodule:: ot.partial
:members:
Loading