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) – 所需的狀態