torch.random
Создано: 07 авг. 2019 | Последнее обновление: 18 июн. 2025
-
torch.random.fork_rng(devices=None, enabled=True, _caller='fork_rng', _devices_kw='devices', device_type=None)[исходный код] -
Создаёт копию состояния ГСЧ, чтобы при возврате ГСЧ восстанавливался в прежнее состояние.
- Параметры:
-
-
devices (итерируемый объект с ID устройств) – устройства, для которых необходимо создать копию состояния ГСЧ. Состояние ГСЧ ЦП всегда копируется. По умолчанию
fork_rng()работает со всеми устройствами, но выдаёт предупреждение, если на компьютере много устройств, поскольку в этом случае функция будет работать очень медленно. Если устройства заданы явно, предупреждение не выводится -
enabled (bool) – если
False, состояние ГСЧ не копируется. Этот аргумент позволяет легко отключить менеджер контекста, не удаляя его и не снимая отступ у следующего за ним кода Python. -
device_type (str) – строковый тип устройства; по умолчанию
None, и в этом случае тип определяется с помощьюtorch.accelerator.current_accelerator(). Если определить тип не удаётся, используется"cuda". Сведения о поддерживаемых устройствах см. в разделе ускорители
-
devices (итерируемый объект с ID устройств) – устройства, для которых необходимо создать копию состояния ГСЧ. Состояние ГСЧ ЦП всегда копируется. По умолчанию
- Тип возвращаемого значения:
-
torch.random.get_rng_state()[исходный код] -
Возвращает состояние генератора случайных чисел в виде
torch.ByteTensor.Примечание
Возвращается состояние только генератора по умолчанию на ЦП.
См. также:
torch.random.fork_rng().- Тип возвращаемого значения:
-
torch.random.initial_seed()[исходный код] -
Возвращает начальное значение для генерации случайных чисел в виде целого числа Python
long.Примечание
Возвращается значение начального числа только для генератора по умолчанию на ЦП.
- Тип возвращаемого значения:
-
torch.random.manual_seed(seed)[исходный код] -
Задаёт начальное значение для генерации случайных чисел на всех устройствах. Возвращает объект
torch.Generator.- Параметры:
-
seed (int) – требуемое начальное значение. Оно должно находиться в замкнутом диапазоне
[-0x8000_0000_0000_0000, 0xffff_ffff_ffff_ffff]. В противном случае возникает RuntimeError. Отрицательные значения преобразуются в положительные по формуле0xffff_ffff_ffff_ffff + seed. - Тип возвращаемого значения:
- Generator
-
torch.random.seed()[исходный код] -
Задаёт для генерации случайных чисел недетерминированное начальное значение на всех устройствах. Возвращает 64-битное число, используемое для инициализации ГСЧ.
- Тип возвращаемого значения:
-
torch.random.set_rng_state(new_state)[исходный код] -
Задаёт состояние генератора случайных чисел.
Примечание
Эта функция работает только на ЦП. Для CUDA используйте
torch.manual_seed(), которая работает как на ЦП, так и на CUDA.- Параметры:
-
new_state (torch.ByteTensor) – требуемое состояние
-
torch.random.thread_safe_generator()[исходный код] -
Возвращает потокобезопасный генератор случайных чисел для использования в рабочих процессах DataLoader. Эта функция позволяет преобразованиям и пользовательскому коду использовать потокобезопасную генерацию случайных чисел, не проверяя вручную контекст рабочего процесса. При вызове в рабочем потоке DataLoader возвращает локальный для потока генератор
torch.Generator. При вызове в главном процессе или рабочем процессе использует отдельный процесс, возвращаетNone(в этом случае функции PyTorch используют глобальный генератор по умолчанию). :returns: Локальный для потока генератор в рабочих потоках, в остальных случаях — None. :rtype: Optional[torch.Generator]- Пример::
-
>>> from torch.random import thread_safe_generator >>> generator = thread_safe_generator() >>> torch.randint(0, 10, (5,), generator=generator)
- Пример с преобразованиями::
-
>>> from torch.random import thread_safe_generator >>> class MyRandomTransform: ... def __call__(self, img): ... generator = thread_safe_generator() ... offset = torch.randint(0, 10, (2,), generator=generator) ... return img[..., offset[0]:, offset[1]:]
- Тип возвращаемого значения:
-
Generator | None
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/random.html