torch.random¶
- torch.random.fork_rng(devices=None, enabled=True, _caller='fork_rng', _devices_kw='devices', device_type='cuda')[source]¶
分叉 RNG,以便在您返回时,RNG 重置为它先前所处的状态。
- 参数
devices (设备 ID 的可迭代对象) – 要为其分叉 RNG 的设备。CPU RNG 状态始终分叉。默认情况下,
fork_rng()
在所有设备上运行,但如果您的机器有许多设备,它会发出警告,因为在这种情况下,此函数将运行得非常慢。如果您明确指定设备,此警告将被禁止enabled (bool) – 如果为
False
,则不会分叉 RNG。这是一个方便的参数,用于轻松禁用上下文管理器,而无需删除它并在其下取消缩进您的 Python 代码。device_type (str) – 设备类型 str,默认为 cuda。至于自定义设备,请参阅 [注意:使用 privateuse1 支持自定义设备] 中的详细信息
- 返回类型
- torch.random.get_rng_state()[source]¶
将随机数生成器状态作为 torch.ByteTensor 返回。
注意
返回的状态仅适用于 CPU 上的默认生成器。
另请参阅:
torch.random.fork_rng()
。- 返回类型
- torch.random.set_rng_state(new_state)[source]¶
设置随机数生成器状态。
注意
此函数仅适用于 CPU。对于 CUDA,请使用
torch.manual_seed()
,它适用于 CPU 和 CUDA。- 参数
new_state(torch.ByteTensor)– 所需状态