生成器#
- class torch.Generator(device='cpu')#
建立並返回一個生成器物件,該物件管理產生偽隨機數的演算法的狀態。用作許多就地隨機取樣函式的關鍵字引數。
- 引數
device (
torch.device, 可選) – 生成器的期望裝置。- 返回
一個 torch.Generator 物件。
- 返回型別
示例
>>> g_cpu = torch.Generator() >>> g_cuda = torch.Generator(device='cuda')
- clone_state() torch.Generator#
克隆生成器的當前狀態,並返回一個指向該克隆狀態的新生成器。此方法有利於儲存生成器的特定狀態,以便稍後恢復。
- 返回
指向新克隆狀態的生成器。
- 返回型別
示例
>>> g_cuda = torch.Generator(device='cuda') >>> cloned_state = g_cuda.clone_state()
- device#
Generator.device -> device
獲取生成器的當前裝置。
示例
>>> g_cpu = torch.Generator() >>> g_cpu.device device(type='cpu')
- get_state() Tensor#
將生成器狀態作為
torch.ByteTensor返回。- 返回
一個
torch.ByteTensor,其中包含將生成器恢復到特定時間點的所有必要位。- 返回型別
示例
>>> g_cpu = torch.Generator() >>> g_cpu.get_state()
- graphsafe_get_state() torch.Generator#
以一種對圖捕獲安全的方式檢索生成器的當前狀態。此方法對於確保生成器的狀態可以被 CUDA 圖捕獲至關重要。
- 返回
指向生成器當前狀態的生成器
- 返回型別
示例
>>> g_cuda = torch.Generator(device='cuda') >>> current_state = g_cuda.graphsafe_get_state()
- graphsafe_set_state(state) None#
以一種對圖捕獲安全的方式將生成器的狀態設定為指定狀態。此方法對於確保生成器的狀態可以被 CUDA 圖捕獲至關重要。
- 引數
state (torch.Generator) – 指向生成器新狀態的生成器,通常從 graphsafe_get_state 獲取。
示例
>>> g_cuda = torch.Generator(device='cuda') >>> g_cuda_other = torch.Generator(device='cuda') >>> current_state = g_cuda_other.graphsafe_get_state() >>> g_cuda.graphsafe_set_state(current_state)
- initial_seed() int#
返回用於生成隨機數的初始種子。
示例
>>> g_cpu = torch.Generator() >>> g_cpu.initial_seed() 2147483647
- manual_seed(seed) Generator#
設定用於生成隨機數的種子。返回一個 torch.Generator 物件。任何 32 位整數都是有效的種子。
- 引數
seed (int) – The desired seed. Value must be within the inclusive range [-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff]. Otherwise, a RuntimeError is raised. Negative inputs are remapped to positive values with the formula 0xffff_ffff_ffff_ffff + seed.
- 返回
一個 torch.Generator 物件。
- 返回型別
示例
>>> g_cpu = torch.Generator() >>> g_cpu.manual_seed(2147483647)
- seed() int#
從 std::random_device 或當前時間獲取一個非確定性隨機數,並用它來播種生成器。
示例
>>> g_cpu = torch.Generator() >>> g_cpu.seed() 1516516984916
- set_state(new_state) void#
設定生成器的狀態。
- 引數
new_state (torch.ByteTensor) – 期望的狀態。
示例
>>> g_cpu = torch.Generator() >>> g_cpu_other = torch.Generator() >>> g_cpu.set_state(g_cpu_other.get_state())