torch.random¶
- torch.random.fork_rng(devices=None, enabled=True, _caller='fork_rng', _devices_kw='devices', device_type='cuda')[source][source]¶
分叉随机数生成器,以便在返回时,随机数生成器恢复到之前的状态。
- 参数:
设备(设备 ID 的可迭代集合)- 要分叉 RNG 的设备。CPU RNG 状态始终分叉。默认情况下,
fork_rng()
对所有设备进行操作,但如果您的机器有大量设备,则会发出警告,因为在这种情况下此函数将运行非常缓慢。如果您显式指定设备,则将抑制此警告启用(布尔值)- 如果
False
,则不进行 RNG 分叉。这是一个方便的参数,可以轻松禁用上下文管理器,而无需删除它并缩进其下的 Python 代码。device_type(字符串)- 设备类型字符串,默认为 cuda。有关自定义设备,请参阅[注意:支持使用 privateuse1 的自定义设备]中的详细信息
- 返回类型:
- torch.random.get_rng_state()[source][source]
返回随机数生成器的状态,以 torch.ByteTensor 的形式。
注意
返回的状态仅适用于 CPU 上的默认生成器。
参见:
torch.random.fork_rng()
。- 返回类型:
- torch.random.initial_seed()[source][source]
返回生成随机数的初始种子,作为 Python 长整型。
注意
返回的种子仅适用于 CPU 上的默认生成器。
- 返回类型:
- torch.random.manual_seed(seed)[源码][源码] ¶
设置所有设备上生成随机数的种子。返回一个 torch.Generator 对象。
- 参数:
seed(整数)- 所需的种子。值必须在[-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff]的范围内。否则,将引发 RuntimeError。负数输入将使用公式 0xffff_ffff_ffff_ffff + 种子映射为正数。
- 返回类型:
- torch.random.seed()[source][source]
将生成随机数的种子设置为所有设备上的非确定性随机数。返回用于初始化 RNG 的 64 位数字。
- 返回类型:
- torch.random.set_rng_state(new_state)[source][source]
设置随机数生成器的状态。
注意
此函数仅适用于 CPU。对于 CUDA,请使用
torch.manual_seed()
,它适用于 CPU 和 CUDA。- 参数:
new_state(torch.ByteTensor)- 所需的状态