12345678910111213141516171819202122232425262728293031323334 |
- # Copyright (c) OpenMMLab. All rights reserved.
- """Helpers for random number generators."""
- import numpy as np
- def ensure_rng(rng=None):
- """Coerces input into a random number generator.
- If the input is None, then a global random state is returned.
- If the input is a numeric value, then that is used as a seed to construct a
- random state. Otherwise the input is returned as-is.
- Adapted from [1]_.
- Args:
- rng (int | numpy.random.RandomState | None):
- if None, then defaults to the global rng. Otherwise this can be an
- integer or a RandomState class
- Returns:
- (numpy.random.RandomState) : rng -
- a numpy random number generator
- References:
- .. [1] https://gitlab.kitware.com/computer-vision/kwarray/blob/master/kwarray/util_random.py#L270 # noqa: E501
- """
- if rng is None:
- rng = np.random.mtrand._rand
- elif isinstance(rng, int):
- rng = np.random.RandomState(rng)
- else:
- rng = rng
- return rng
|