torch.random¶
- 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 (布尔值) – 如果为
False
,则不分叉 RNG。这是一个方便的参数,用于轻松禁用上下文管理器,而无需删除它并缩进其下的 Python 代码。device_type (字符串) – 设备类型字符串,默认为 cuda。对于自定义设备,请参阅 [注意:支持使用 privateuse1 的自定义设备] 中的详细信息。
- 返回类型
- torch.random.get_rng_state()[源代码][源代码]¶
返回随机数生成器的状态,类型为 torch.ByteTensor。
注意
返回的状态仅适用于 CPU 上的默认生成器。
另请参阅:
torch.random.fork_rng()
。- 返回类型
- torch.random.initial_seed()[源代码][源代码]¶
返回用于生成随机数的初始种子,类型为 Python long。
注意
返回的种子仅适用于 CPU 上的默认生成器。
- 返回类型
- torch.random.set_rng_state(new_state)[源代码][源代码]¶
设置随机数生成器的状态。
注意
此函数仅适用于 CPU。对于 CUDA,请使用
torch.manual_seed()
,它同时适用于 CPU 和 CUDA。- 参数
new_state (torch.ByteTensor) – 所需的状态