生成器¶
- class torch.Generator(device='cpu')¶
创建并返回一个生成器对象,该对象管理生成伪随机数的算法的状态。在许多就地随机采样函数中用作关键字参数。
- Parameters
设备 (
torch.device
, 可选) – 生成器所需的设备。- Returns
一个 torch.Generator 对象。
- Return type
示例:
>>> g_cpu = torch.Generator() >>> g_cuda = torch.Generator(device='cuda')
- device¶
Generator.device -> 设备
获取生成器的当前设备。
示例:
>>> g_cpu = torch.Generator() >>> g_cpu.device 设备(类型='cpu')
- get_state() 张量 ¶
返回生成器的状态为
torch.ByteTensor
。- Returns
一个包含所有必要位以将生成器恢复到特定时间点的
torch.ByteTensor
。- Return type
示例:
>>> g_cpu = torch.Generator() >>> g_cpu.get_state()
- initial_seed() int ¶
返回用于生成随机数的初始种子。
示例:
>>> g_cpu = torch.Generator() >>> g_cpu.initial_seed() 2147483647
- manual_seed(seed) 生成器 ¶
设置生成随机数的种子。返回一个torch.Generator对象。任何32位整数都是一个有效的种子。
- Parameters
种子 (整数) – 所需的种子。值必须在包含范围内 [-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff]。否则,将引发RuntimeError。负输入通过公式 0xffff_ffff_ffff_ffff + 种子重新映射为正值。
- Returns
一个 torch.Generator 对象。
- Return type
示例:
>>> 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 ¶
设置生成器状态。
- Parameters
new_state (torch.ByteTensor) – 所需的状态。
示例:
>>> g_cpu = torch.Generator() >>> g_cpu_other = torch.Generator() >>> g_cpu.set_state(g_cpu_other.get_state())