参考 torch、(二) Generators - 云+社区 - 腾讯云
目录
class torch._C.Generator(device='cpu') → Generator
device
get_state() → Tensor
initial_seed() → int
manual_seed(seed) → Generator
seed() → int
set_state(new_state) → void
torch._C.
Generator
(device='cpu') → GeneratorCreates and returns a generator object which manages the state of the algorithm that produces pseudo random numbers. Used as a keyword argument in many In-place random sampling functions.
Parameters
device (torch.device
, optional) – the desired device for the generator.
Returns
An torch.Generator object.
Return type
Generator
Example:
>>> g_cpu = torch.Generator()
>>> g_cuda = torch.Generator(device='cuda')
device
Generator.device -> device
Gets the current device of the generator.
Example:
>>> g_cpu = torch.Generator()
>>> g_cpu.device
device(type='cpu')
get_state
() → TensorReturns the Generator state as a torch.ByteTensor
.
Returns
A torch.ByteTensor
which contains all the necessary bits to restore a Generator to a specific point in time.
Return type
Tensor
Example:
>>> g_cpu = torch.Generator()
>>> g_cpu.get_state()
initial_seed
() → intReturns the initial seed for generating random numbers.
Example:
>>> g_cpu = torch.Generator()
>>> g_cpu.initial_seed()
2147483647
manual_seed
(seed) → GeneratorSets the seed for generating random numbers. Returns a torch.Generator object. It is recommended to set a large seed, i.e. a number that has a good balance of 0 and 1 bits. Avoid having many 0 bits in the seed.
Parameters
seed (int) – The desired seed.
Returns
An torch.Generator object.
Return type
Generator
Example:
>>> g_cpu = torch.Generator()
>>> g_cpu.manual_seed(2147483647)
seed
() → intGets a non-deterministic random number from std::random_device or the current time and uses it to seed a Generator.
Example:
>>> g_cpu = torch.Generator()
>>> g_cpu.seed()
1516516984916
set_state
(new_state) → voidSets the Generator state.
Parameters
new_state (torch.ByteTensor) – The desired state.
Example:
>>> g_cpu = torch.Generator()
>>> g_cpu_other = torch.Generator()
>>> g_cpu.set_state(g_cpu_other.get_state())