From a1f09f3b9517eb38e0eba81ac2835979c0ad936c Mon Sep 17 00:00:00 2001 From: RĂ©mi Flamary Date: Tue, 29 May 2018 16:52:42 +0200 Subject: add check_random_state in utils --- ot/utils.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ot/utils.py') 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. -- cgit v1.2.3