评价此页

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')[源]#

分叉 RNG,以便在返回时,RNG 重置为之前的状态。

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

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

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

返回类型

生成器

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) – 所需的种子。值必须在闭区间 [-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff] 内。否则,将引发 RuntimeError。负输入将通过公式 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) – 所需的状态