On this page
Generator
class torch.Generator(device='cpu')
-
Creates and returns a generator object that manages the state of the algorithm which 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:
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() → Tensor
-
Returns 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:
Example:
>>> g_cpu = torch.Generator() >>> g_cpu.get_state()
initial_seed() → int
-
Returns the initial seed for generating random numbers.
Example:
>>> g_cpu = torch.Generator() >>> g_cpu.initial_seed() 2147483647
manual_seed(seed) → Generator
-
Sets 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. 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 formula0xffff_ffff_ffff_ffff + seed
. - Returns:
-
An torch.Generator object.
- Return type:
Example:
>>> g_cpu = torch.Generator() >>> g_cpu.manual_seed(2147483647)
seed() → int
-
Gets 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) → void
-
Sets 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())
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.Generator.html