summaryrefslogtreecommitdiff
path: root/ot/utils.py
diff options
context:
space:
mode:
authorRémi Flamary <remi.flamary@gmail.com>2018-05-29 16:52:42 +0200
committerRémi Flamary <remi.flamary@gmail.com>2018-05-29 16:52:42 +0200
commita1f09f3b9517eb38e0eba81ac2835979c0ad936c (patch)
treeb5d7d64c3cfc608c7f826e783a706090dc2df0cf /ot/utils.py
parent90efa5a8b189214d1aeb81920b2bb04ce0c261ca (diff)
add check_random_state in utils
Diffstat (limited to 'ot/utils.py')
-rw-r--r--ot/utils.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/ot/utils.py b/ot/utils.py
index 17983f2..7dac283 100644
--- a/ot/utils.py
+++ b/ot/utils.py
@@ -225,6 +225,26 @@ def check_params(**kwargs):
return check
+def check_random_state(seed):
+ """Turn seed into a np.random.RandomState instance
+ Parameters
+ ----------
+ seed : None | int | instance of RandomState
+ If seed is None, return the RandomState singleton used by np.random.
+ If seed is an int, return a new RandomState instance seeded with seed.
+ If seed is already a RandomState instance, return it.
+ Otherwise raise ValueError.
+ """
+ if seed is None or seed is np.random:
+ return np.random.mtrand._rand
+ if isinstance(seed, (int, np.integer)):
+ return np.random.RandomState(seed)
+ if isinstance(seed, np.random.RandomState):
+ return seed
+ raise ValueError('{} cannot be used to seed a numpy.random.RandomState'
+ ' instance'.format(seed))
+
+
class deprecated(object):
"""Decorator to mark a function or class as deprecated.