torch.random¶
- torch.random.fork_rng(devices=None, enabled=True, _caller='fork_rng', _devices_kw='devices', device_type='cuda')[原始碼][原始碼]¶
分叉(Fork)RNG,以便在您返回時,RNG 重置為先前的狀態。
- 參數
devices (Device IDs 的 iterable) – 要分叉 RNG 的裝置。 CPU RNG 狀態始終會被分叉。 預設情況下,
fork_rng()
在所有裝置上運行,但如果您的機器有很多裝置,將會發出警告,因為在這種情況下,此函數的運行速度會非常慢。 如果您明確指定裝置,則會抑制此警告。enabled (bool) – 如果
False
,則不分叉 RNG。 這是一個方便的參數,可以輕鬆地停用上下文管理器,而無需刪除它並取消縮排您的 Python 程式碼。device_type (str) – 裝置類型字串,預設為 cuda。 至於自定義裝置,請參閱 [注意:支援使用 privateuse1 的自定義裝置] 中的詳細資訊。
- 回傳類型
- torch.random.get_rng_state()[原始碼][原始碼]¶
將亂數產生器狀態以 torch.ByteTensor 的形式回傳。
注意
回傳的狀態僅適用於 CPU 上的預設產生器。
另請參閱:
torch.random.fork_rng()
。- 回傳類型
- torch.random.initial_seed()[原始碼][原始碼]¶
將用於產生亂數的初始種子 (seed) 以 Python long 的形式回傳。
注意
回傳的種子僅適用於 CPU 上的預設產生器。
- 回傳類型
- torch.random.manual_seed(seed)[原始碼][原始碼]¶
設定所有裝置上產生亂數的種子 (seed)。 回傳一個 torch.Generator 物件。
- 參數
seed (int) – 期望的種子 (seed)。 值必須在包含 [-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff] 的範圍內。 否則,會引發 RuntimeError。 負數輸入會使用公式 0xffff_ffff_ffff_ffff + seed 重新映射為正數。
- 回傳類型
- torch.random.set_rng_state(new_state)[原始碼][原始碼]¶
設定亂數產生器狀態。
注意
此函數僅適用於 CPU。 對於 CUDA,請使用
torch.manual_seed()
,它適用於 CPU 和 CUDA。- 參數
new_state (torch.ByteTensor) – 期望的狀態