torch.random

torch.random.fork_rng(devices=None, enabled=True, _caller='fork_rng', _devices_kw='devices', device_type='cuda')[源代码]

分叉随机数生成器(RNG),这样当你返回时,RNG会恢复到之前的狀態。

参数
  • devices (iterable of Device IDs) – 要分叉随机数生成器状态的设备。CPU 的随机数生成器状态总是会被分叉。默认情况下,fork_rng() 会在所有设备上操作,但如果机器上有大量设备,则会发出警告,因为在这种情况下该函数运行速度非常慢。如果你显式指定设备,此警告将被抑制。

  • enabled (bool) – 如果为 False,则不分支 RNG。这是一个方便的参数,用于在不需要时轻松禁用上下文管理器,而无需删除它并重新缩进你的 Python 代码。

  • device_type (str) – 设备类型,默认为cuda。关于自定义设备的详细信息,请参见[注意:支持使用privateuse1的自定义设备]

返回类型

生成器

torch.random.get_rng_state()[源代码]

返回随机数生成器的状态,格式为torch.ByteTensor

注意

返回的状态仅适用于默认的CPU生成器。

参见:torch.random.fork_rng()

返回类型

Tensor

torch.random.initial_seed()[源代码]

返回用于生成随机数的初始种子,类型为 Python 的 long

注意

返回的种子仅适用于默认生成器在CPU上使用。

返回类型

int

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位数字。

返回类型

int

torch.random.set_rng_state(new_state)[源代码]

设定随机数生成器的状态。

注意

此函数仅适用于CPU。对于CUDA,请使用torch.manual_seed(),因为它同时支持CPU和CUDA。

参数

new_state (torch.ByteTensor) – 指定的状态

本页目录