py_random_state#

py_random_state(random_state_argument)[source]#

用于生成一个 random.Random 实例(或等效对象)的装饰器。

此装饰器使用 nx.utils.create_py_random_state() 处理 random_state_argument。输入值可以是一个种子(整数),或者一个随机数生成器

If int, return a random.Random instance set with seed=int.
If random.Random instance, return it.
If None or the `random` package, return the global random number
generator used by `random`.
If np.random package, or the default numpy RandomState instance,
return the default numpy random number generator wrapped in a
`PythonRandomViaNumpyBits`  class.
If np.random.Generator instance, return it wrapped in a
`PythonRandomViaNumpyBits`  class.

# Legacy options
If np.random.RandomState instance, return it wrapped in a
`PythonRandomInterface` class.
If a `PythonRandomInterface` instance, return it
参数:
random_state_argument字符串或整数

要转换成 random.Random 实例或模仿 random.Random 基本方法的 numpy.random.RandomState 实例的参数名或在 args 中的参数索引。

返回:
_random_state函数

其 random_state_argument 参数被转换为 Random 实例的函数。

另请参阅

np_random_state

示例

像这样装饰函数

@py_random_state("random_state")
def random_float(random_state=None):
    return random_state.rand()

@py_random_state(0)
def random_float(rng=None):
    return rng.rand()

@py_random_state(1)
def random_array(dims, seed=12345):
    return seed.rand(*dims)