Skip to content

Utils API Reference

This page provides the complete API reference for the batchtensor.utils module.

The utils module contains utility functions that support the main tensor operations, particularly for managing random seeds and ensuring reproducibility.

For usage examples and tutorials, see the Utils User Guide.

Seed Management

batchtensor.utils.seed

Implements utility functions to manage random seeds for reproducible tensor operations.

batchtensor.utils.seed.get_random_seed

get_random_seed(seed: int) -> int

Get a random seed.

Parameters:

Name Type Description Default
seed int

A random seed to make the process reproducible.

required

Returns:

Type Description
int

A random seed. The value is between -2 ** 63 and 2 ** 63 - 1.

Example
>>> from batchtensor.utils.seed import get_random_seed
>>> get_random_seed(44)
6176747449835261347

batchtensor.utils.seed.get_torch_generator

get_torch_generator(
    random_seed: int = 1,
    device: device | str | None = "cpu",
) -> Generator

Create a torch.Generator initialized with a given seed.

Parameters:

Name Type Description Default
random_seed int

A random seed.

1
device device | str | None

The desired device for the generator.

'cpu'

Returns:

Type Description
Generator

A torch.Generator object.

Example
>>> import torch
>>> from batchtensor.utils.seed import get_torch_generator
>>> generator = get_torch_generator(42)
>>> torch.rand(2, 4, generator=generator)
tensor([[0.8823, 0.9150, 0.3829, 0.9593],
        [0.3904, 0.6009, 0.2566, 0.7936]])
>>> generator = get_torch_generator(42)
>>> torch.rand(2, 4, generator=generator)
tensor([[0.8823, 0.9150, 0.3829, 0.9593],
        [0.3904, 0.6009, 0.2566, 0.7936]])

batchtensor.utils.seed.setup_torch_generator

setup_torch_generator(
    generator_or_seed: int | Generator,
) -> Generator

Set up a torch.Generator object.

Parameters:

Name Type Description Default
generator_or_seed int | Generator

A torch.Generator object or a random seed.

required

Returns:

Type Description
Generator

A torch.Generator object.

Example
>>> from batchtensor.utils.seed import setup_torch_generator
>>> generator = setup_torch_generator(42)
>>> generator
<torch._C.Generator object at 0x...>