summaryrefslogtreecommitdiff
path: root/ot/lp
diff options
context:
space:
mode:
authorAntoine Rolet <antoine.rolet@gmail.com>2017-09-09 17:38:31 +0900
committerAntoine Rolet <antoine.rolet@gmail.com>2017-09-09 17:38:31 +0900
commitcd8c04246b6d1f15b68d6433741e8c808fd517d8 (patch)
treeaf45a723fb29644b7be75b20db48bf238cdf6296 /ot/lp
parent1ba2c837d54ce963ad63ddf8df2e47230800b747 (diff)
Renamed variable
Diffstat (limited to 'ot/lp')
-rw-r--r--ot/lp/EMD.h2
-rw-r--r--ot/lp/EMD_wrapper.cpp4
-rw-r--r--ot/lp/__init__.py14
-rw-r--r--ot/lp/emd_wrap.pyx8
4 files changed, 14 insertions, 14 deletions
diff --git a/ot/lp/EMD.h b/ot/lp/EMD.h
index bb486de..f42e222 100644
--- a/ot/lp/EMD.h
+++ b/ot/lp/EMD.h
@@ -30,6 +30,6 @@ enum ProblemType {
MAX_ITER_REACHED
};
-int EMD_wrap(int n1,int n2, double *X, double *Y,double *D, double *G, double* alpha, double* beta, double *cost, int max_iter);
+int EMD_wrap(int n1,int n2, double *X, double *Y,double *D, double *G, double* alpha, double* beta, double *cost, int maxIter);
#endif
diff --git a/ot/lp/EMD_wrapper.cpp b/ot/lp/EMD_wrapper.cpp
index 92663dc..fc7ca63 100644
--- a/ot/lp/EMD_wrapper.cpp
+++ b/ot/lp/EMD_wrapper.cpp
@@ -16,7 +16,7 @@
int EMD_wrap(int n1, int n2, double *X, double *Y, double *D, double *G,
- double* alpha, double* beta, double *cost, int max_iter) {
+ double* alpha, double* beta, double *cost, int maxIter) {
// beware M and C anre strored in row major C style!!!
int n, m, i, cur;
@@ -48,7 +48,7 @@ int EMD_wrap(int n1, int n2, double *X, double *Y, double *D, double *G,
std::vector<int> indI(n), indJ(m);
std::vector<double> weights1(n), weights2(m);
Digraph di(n, m);
- NetworkSimplexSimple<Digraph,double,double, node_id_type> net(di, true, n+m, n*m, max_iter);
+ NetworkSimplexSimple<Digraph,double,double, node_id_type> net(di, true, n+m, n*m, maxIter);
// Set supply and demand, don't account for 0 values (faster)
diff --git a/ot/lp/__init__.py b/ot/lp/__init__.py
index 1238cdb..9a0cb1c 100644
--- a/ot/lp/__init__.py
+++ b/ot/lp/__init__.py
@@ -16,7 +16,7 @@ from .emd_wrap import emd_c, check_result
from ..utils import parmap
-def emd(a, b, M, num_iter_max=100000, log=False):
+def emd(a, b, M, max_iter=100000, log=False):
"""Solves the Earth Movers distance problem and returns the OT matrix
@@ -41,7 +41,7 @@ def emd(a, b, M, num_iter_max=100000, log=False):
Target histogram (uniform weigth if empty list)
M : (ns,nt) ndarray, float64
loss matrix
- num_iter_max : int, optional (default=100000)
+ max_iter : int, optional (default=100000)
The maximum number of iterations before stopping the optimization
algorithm if it has not converged.
log: boolean, optional (default=False)
@@ -94,7 +94,7 @@ def emd(a, b, M, num_iter_max=100000, log=False):
if len(b) == 0:
b = np.ones((M.shape[1],), dtype=np.float64) / M.shape[1]
- G, cost, u, v, result_code = emd_c(a, b, M, num_iter_max)
+ G, cost, u, v, result_code = emd_c(a, b, M, max_iter)
result_code_string = check_result(result_code)
if log:
log = {}
@@ -107,7 +107,7 @@ def emd(a, b, M, num_iter_max=100000, log=False):
return G
-def emd2(a, b, M, processes=multiprocessing.cpu_count(), num_iter_max=100000, log=False):
+def emd2(a, b, M, processes=multiprocessing.cpu_count(), max_iter=100000, log=False):
"""Solves the Earth Movers distance problem and returns the loss
.. math::
@@ -131,7 +131,7 @@ def emd2(a, b, M, processes=multiprocessing.cpu_count(), num_iter_max=100000, lo
Target histogram (uniform weigth if empty list)
M : (ns,nt) ndarray, float64
loss matrix
- num_iter_max : int, optional (default=100000)
+ max_iter : int, optional (default=100000)
The maximum number of iterations before stopping the optimization
algorithm if it has not converged.
@@ -183,7 +183,7 @@ def emd2(a, b, M, processes=multiprocessing.cpu_count(), num_iter_max=100000, lo
if log:
def f(b):
- G, cost, u, v, resultCode = emd_c(a, b, M, num_iter_max)
+ G, cost, u, v, resultCode = emd_c(a, b, M, max_iter)
result_code_string = check_result(resultCode)
log = {}
log['G'] = G
@@ -194,7 +194,7 @@ def emd2(a, b, M, processes=multiprocessing.cpu_count(), num_iter_max=100000, lo
return [cost, log]
else:
def f(b):
- G, cost, u, v, result_code = emd_c(a, b, M, num_iter_max)
+ G, cost, u, v, result_code = emd_c(a, b, M, max_iter)
check_result(result_code)
return cost
diff --git a/ot/lp/emd_wrap.pyx b/ot/lp/emd_wrap.pyx
index 7ebdd2a..83ee6aa 100644
--- a/ot/lp/emd_wrap.pyx
+++ b/ot/lp/emd_wrap.pyx
@@ -16,7 +16,7 @@ import warnings
cdef extern from "EMD.h":
- int EMD_wrap(int n1,int n2, double *X, double *Y,double *D, double *G, double* alpha, double* beta, double *cost, int numItermax)
+ int EMD_wrap(int n1,int n2, double *X, double *Y,double *D, double *G, double* alpha, double* beta, double *cost, int maxIter)
cdef enum ProblemType: INFEASIBLE, OPTIMAL, UNBOUNDED, MAX_ITER_REACHED
@@ -36,7 +36,7 @@ def check_result(result_code):
@cython.boundscheck(False)
@cython.wraparound(False)
-def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mode="c"] b, np.ndarray[double, ndim=2, mode="c"] M, int num_iter_max):
+def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mode="c"] b, np.ndarray[double, ndim=2, mode="c"] M, int max_iter):
"""
Solves the Earth Movers distance problem and returns the optimal transport matrix
@@ -63,7 +63,7 @@ def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mod
target histogram
M : (ns,nt) ndarray, float64
loss matrix
- num_iter_max : int
+ max_iter : int
The maximum number of iterations before stopping the optimization
algorithm if it has not converged.
@@ -90,6 +90,6 @@ def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mod
b=np.ones((n2,))/n2
# calling the function
- cdef int result_code = EMD_wrap(n1, n2, <double*> a.data, <double*> b.data, <double*> M.data, <double*> G.data, <double*> alpha.data, <double*> beta.data, <double*> &cost, num_iter_max)
+ cdef int result_code = EMD_wrap(n1, n2, <double*> a.data, <double*> b.data, <double*> M.data, <double*> G.data, <double*> alpha.data, <double*> beta.data, <double*> &cost, max_iter)
return G, cost, alpha, beta, result_code