diff options
author | Kilian Fatras <kilianfatras@dhcp-206-12-53-99.eduroam.wireless.ubc.ca> | 2018-06-15 19:15:48 -0700 |
---|---|---|
committer | Kilian Fatras <kilianfatras@dhcp-206-12-53-99.eduroam.wireless.ubc.ca> | 2018-06-15 19:15:48 -0700 |
commit | 18f9242b9575e7551d5e30b66cfbaaac85e0022a (patch) | |
tree | 9ec0fb120e8e4ae3ebbcc0e70e4ab5a56b944cf8 | |
parent | e2d06ef4e901e0c1e9119cdbd79b9c453c1af452 (diff) |
PEP8
-rw-r--r-- | examples/plot_stochastic.py | 4 | ||||
-rw-r--r-- | ot/stochastic.py | 14 | ||||
-rw-r--r-- | test/test_stochastic.py | 1 |
3 files changed, 9 insertions, 10 deletions
diff --git a/examples/plot_stochastic.py b/examples/plot_stochastic.py index 0afceeb..9071ddb 100644 --- a/examples/plot_stochastic.py +++ b/examples/plot_stochastic.py @@ -53,7 +53,7 @@ M = ot.dist(X_source, Y_target) method = "SAG" sag_pi = ot.stochastic.transportation_matrix_entropic(a, b, M, reg, method, - numItermax, lr) + numItermax, lr) print(sag_pi) ############################################################################# @@ -90,7 +90,7 @@ M = ot.dist(X_source, Y_target) method = "ASGD" asgd_pi = ot.stochastic.transportation_matrix_entropic(a, b, M, reg, method, - numItermax, lr) + numItermax, lr) print(asgd_pi) ############################################################################# diff --git a/ot/stochastic.py b/ot/stochastic.py index 9123150..541f456 100644 --- a/ot/stochastic.py +++ b/ot/stochastic.py @@ -75,8 +75,8 @@ def coordinate_gradient(b, M, reg, v, i): ''' r = M[i, :] - v - exp_v = np.exp(-r/reg) * b - khi = exp_v/(np.sum(exp_v)) + exp_v = np.exp(-r / reg) * b + khi = exp_v / (np.sum(exp_v)) return b - khi @@ -161,7 +161,7 @@ def sag_entropic_transport(a, b, M, reg, numItermax=10000, lr=0.1): cur_coord_grad = a[i] * coordinate_gradient(b, M, reg, v, i) sum_stored_gradient += (cur_coord_grad - stored_gradient[i]) stored_gradient[i] = cur_coord_grad - v += lr * (1./n_source) * sum_stored_gradient + v += lr * (1. / n_source) * sum_stored_gradient return v @@ -243,8 +243,8 @@ def averaged_sgd_entropic_transport(b, M, reg, numItermax=300000, lr=1): k = cur_iter + 1 i = np.random.randint(n_source) cur_coord_grad = coordinate_gradient(b, M, reg, cur_v, i) - cur_v += (lr/np.sqrt(k)) * cur_coord_grad - ave_v = (1./k) * cur_v + (1 - 1./k) * ave_v + cur_v += (lr / np.sqrt(k)) * cur_coord_grad + ave_v = (1. / k) * cur_v + (1 - 1. / k) * ave_v return ave_v @@ -317,7 +317,7 @@ def c_transform_entropic(b, M, reg, v): u = np.zeros(n_source) for i in range(n_source): r = M[i, :] - v - exp_v = np.exp(-r/reg) * b + exp_v = np.exp(-r / reg) * b u[i] = - reg * np.log(np.sum(exp_v)) return u @@ -410,6 +410,6 @@ def transportation_matrix_entropic(a, b, M, reg, method, numItermax=10000, return None opt_u = c_transform_entropic(b, M, reg, opt_v) - pi = (np.exp((opt_u[:, None] + opt_v[None, :] - M[:, :])/reg) + pi = (np.exp((opt_u[:, None] + opt_v[None, :] - M[:, :]) / reg) * a[:, None] * b[None, :]) return pi diff --git a/test/test_stochastic.py b/test/test_stochastic.py index 829f781..5fe5ea9 100644 --- a/test/test_stochastic.py +++ b/test/test_stochastic.py @@ -89,7 +89,6 @@ def test_sag_asgd_sinkhorn(): n = 15 reg = 1 nb_iter = 300000 - lr = 1 rng = np.random.RandomState(0) x = rng.randn(n, 2) |