torch学习 (43):Generator--伪随机数生成算法的状态管理

文章目录

  • 1 原型
  • 2 初始化
  • 3 查看设备
  • 4 获取状态
  • 5 获取随机种子
  • 6 设置随机种子
  • 7 随机设置随机种子
  • 8 设置状态

1 原型

  torch.Generator(device=‘cpu’) → Generator

2 初始化

import torch


g_cpu = torch.Generator()
#g_cuda = torch.Generator(device='cuda')
print(g_cpu)

  输出:

<torch._C.Generator object at 0x000002B056F390B0>

3 查看设备

print(g_cpu.device)

  输出:

cpu

4 获取状态

  一个torch.ByteTensor,其包含将生成器恢复到特定时间点的所有必要位。

print(g_cpu.get_state())

  输出:

tensor([  1, 209, 156,  ...,   0,   0,   0], dtype=torch.uint8)

5 获取随机种子

print(g_cpu.initial_seed())

6 设置随机种子

g_cpu.manual_seed(1)
print(g_cpu.initial_seed())

7 随机设置随机种子

  获取一个不确定的随机数,并设置为当前随机种子。

print(g_cpu.initial_seed())
g_cpu.seed()
print(g_cpu.initial_seed())

8 设置状态

g_cpu = torch.Generator()
print(g_cpu.get_state())
g_cpu_other = torch.Generator()
g_cpu_other.manual_seed(1)
g_cpu.set_state(g_cpu_other.get_state())
print(g_cpu.get_state())

  输出:

tensor([  1, 209, 156,  ...,   0,   0,   0], dtype=torch.uint8)
tensor([1, 0, 0,  ..., 0, 0, 0], dtype=torch.uint8)

你可能感兴趣的:(#,深度学习,因吉和皮卡墨,torch,generator)