diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | RELEASES.md | 1 | ||||
-rw-r--r-- | examples/backends/plot_sliced_wass_grad_flow_pytorch.py | 4 | ||||
-rw-r--r-- | ot/gromov.py | 4 | ||||
-rw-r--r-- | ot/lp/cvx.py | 2 | ||||
-rw-r--r-- | ot/unbalanced.py | 4 |
6 files changed, 9 insertions, 8 deletions
@@ -42,7 +42,7 @@ clean : FORCE $(PYTHON) setup.py clean pep8 : - flake8 examples/ ot/ test/ + flake8 examples/ ot/ test/ --count --max-line-length=127 --statistics --show-source test : FORCE pep8 $(PYTHON) -m pytest --durations=20 -v test/ --doctest-modules --ignore ot/gpu/ diff --git a/RELEASES.md b/RELEASES.md index 14d11c4..571cd74 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -19,6 +19,7 @@ incomplete transport plan above a certain size (slightly above 46k, its square being roughly 2^31) (PR #381) - Error raised when mass mismatch in emd2 (PR #386) +- Fixed an issue where a pytorch example would throw an error if executed on a GPU (Issue #389, PR #391) ## 0.8.2 diff --git a/examples/backends/plot_sliced_wass_grad_flow_pytorch.py b/examples/backends/plot_sliced_wass_grad_flow_pytorch.py index 59e0042..f00de50 100644 --- a/examples/backends/plot_sliced_wass_grad_flow_pytorch.py +++ b/examples/backends/plot_sliced_wass_grad_flow_pytorch.py @@ -74,7 +74,7 @@ x_all = np.zeros((nb_iter_max, x1.shape[0], 2)) loss_iter = [] # generator for random permutations -gen = torch.Generator() +gen = torch.Generator(device=device) gen.manual_seed(42) for i in range(nb_iter_max): @@ -136,7 +136,7 @@ x_all = np.zeros((nb_iter_max, xbary_torch.shape[0], 2)) loss_iter = [] # generator for random permutations -gen = torch.Generator() +gen = torch.Generator(device=device) gen.manual_seed(42) alpha = 0.5 diff --git a/ot/gromov.py b/ot/gromov.py index 55ab0bd..7de8598 100644 --- a/ot/gromov.py +++ b/ot/gromov.py @@ -1581,7 +1581,7 @@ def gromov_barycenters(N, Cs, ps, p, lambdas, loss_fun, error = []
- while(err > tol and cpt < max_iter):
+ while (err > tol and cpt < max_iter):
Cprev = C
T = [gromov_wasserstein(Cs[s], C, ps[s], p, loss_fun,
@@ -1725,7 +1725,7 @@ def fgw_barycenters(N, Ys, Cs, ps, lambdas, alpha, fixed_structure=False, fixed_ log_['err_structure'] = []
log_['Ts_iter'] = []
- while((err_feature > tol or err_structure > tol) and cpt < max_iter):
+ while ((err_feature > tol or err_structure > tol) and cpt < max_iter):
Cprev = C
Xprev = X
diff --git a/ot/lp/cvx.py b/ot/lp/cvx.py index fbf3c0e..361ad0f 100644 --- a/ot/lp/cvx.py +++ b/ot/lp/cvx.py @@ -80,7 +80,7 @@ def barycenter(A, M, weights=None, verbose=False, log=False, solver='interior-po if weights is None: weights = np.ones(A.shape[1]) / A.shape[1] else: - assert(len(weights) == A.shape[1]) + assert len(weights) == A.shape[1] n_distributions = A.shape[1] n = A.shape[0] diff --git a/ot/unbalanced.py b/ot/unbalanced.py index 90c920c..dd9a36e 100644 --- a/ot/unbalanced.py +++ b/ot/unbalanced.py @@ -734,7 +734,7 @@ def barycenter_unbalanced_stabilized(A, M, reg, reg_m, weights=None, tau=1e3, if weights is None: weights = nx.ones(n_hists, type_as=A) / n_hists else: - assert(len(weights) == A.shape[1]) + assert len(weights) == A.shape[1] if log: log = {'err': []} @@ -882,7 +882,7 @@ def barycenter_unbalanced_sinkhorn(A, M, reg, reg_m, weights=None, if weights is None: weights = nx.ones(n_hists, type_as=A) / n_hists else: - assert(len(weights) == A.shape[1]) + assert len(weights) == A.shape[1] if log: log = {'err': []} |