评价此页

torch.random#

创建日期: 2019年8月7日 | 最后更新日期: 2025年6月18日

torch.random.fork_rng(devices=None, enabled=True, _caller='fork_rng', _devices_kw='devices', device_type='cuda')[源代码]#

分叉(fork)随机数生成器(RNG),以便在返回时,RNG会重置到之前的状态。

参数:
  • devices (可迭代的设备 ID) – 要为其分叉 RNG 的设备。CPU RNG 状态始终被分叉。默认情况下,fork_rng() 会操作所有设备,但如果您的机器设备很多,它会发出警告,因为在这种情况下此函数运行速度会非常慢。如果您明确指定设备,此警告将被抑制。

  • enabled (bool) – 如果为 False,则不分叉 RNG。这是一个方便的参数,用于在不删除上下文管理器和取消其下的 Python 代码缩进的情况下轻松禁用它。

  • device_type (str) – 设备类型字符串,默认为 cuda。有关支持的设备,请参阅 accelerator 中的详细信息。

返回类型:

生成器

torch.random.get_rng_state()[源代码]#

将随机数生成器状态作为torch.ByteTensor返回。

注意

返回的状态仅适用于 CPU 上的默认生成器。

另请参阅: torch.random.fork_rng()

返回类型:

张量

torch.random.initial_seed()[源代码]#

返回生成随机数的初始种子,作为Python long类型。

注意

返回的种子仅适用于 CPU 上的默认生成器。

返回类型:

int

torch.random.manual_seed(seed)[源代码]#

为所有设备上生成随机数设置种子。返回一个 torch.Generator 对象。

参数:

seed (int) – The desired seed. Value must be within the inclusive range [-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff]. Otherwise, a RuntimeError is raised. Negative inputs are remapped to positive values with the formula 0xffff_ffff_ffff_ffff + seed.

返回类型:

生成器

torch.random.seed()[源代码]#

为所有设备上生成随机数设置一个非确定性随机数。返回一个用于播种 RNG 的 64 位数字。

返回类型:

int

torch.random.set_rng_state(new_state)[源代码]#

设置随机数生成器状态。

注意

此函数仅适用于 CPU。对于 CUDA,请使用 torch.manual_seed(),它适用于 CPU 和 CUDA。

参数:

new_state (torch.ByteTensor) – 所需的状态