diff options
author | Rémi Flamary <remi.flamary@gmail.com> | 2018-05-29 16:52:42 +0200 |
---|---|---|
committer | Rémi Flamary <remi.flamary@gmail.com> | 2018-05-29 16:52:42 +0200 |
commit | a1f09f3b9517eb38e0eba81ac2835979c0ad936c (patch) | |
tree | b5d7d64c3cfc608c7f826e783a706090dc2df0cf /ot/utils.py | |
parent | 90efa5a8b189214d1aeb81920b2bb04ce0c261ca (diff) |
add check_random_state in utils
Diffstat (limited to 'ot/utils.py')
-rw-r--r-- | ot/utils.py | 20 |
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. |