py_random_state#

py_random_state(random_state_argument)[source]#

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

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

  • 如果是整数,返回一个以该整数为种子的 random.Random 实例。

  • 如果是 random.Random 实例,直接返回它。

  • 如果是 Nonerandom 包,返回 random 包使用的全局随机数生成器。

  • 如果是 np.random 包或默认的 numpy.random.RandomState 实例,返回一个包装在 PythonRandomViaNumpyBits 类中的默认 numpy 随机数生成器。

  • 如果是 np.random.Generator 实例,返回一个包装在 PythonRandomViaNumpyBits 类中的该实例。

    # 遗留选项

  • 如果是 np.random.RandomState 实例,返回一个包装在 PythonRandomInterface 类中的该实例。

  • 如果是 PythonRandomInterface 实例,直接返回它。

Parameters:
random_state_argument字符串或整数

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

Returns:
_random_state函数

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

See also

np_random_state

Examples

按如下方式装饰函数:

@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)