• 文档 >
  • torch >
  • Sobol 引擎
快捷键

Sobol 引擎 ¶

class torch.quasirandom.SobolEngine(维度, scramble=False, seed=None)[source][source] ¶

torch.quasirandom.SobolEngine 是一个生成(打乱)Sobol 序列的引擎。Sobol 序列是低偏差准随机序列的一个例子。

该 Sobol 序列引擎的实现能够采样最大维度为 21201 的序列。它使用从 https://web.maths.unsw.edu.au/~fkuo/sobol/获取的方向数,使用搜索标准 D(6)直到维度 21201。这是作者推荐的选择。

参考文献列表

  • 艺术 B.欧文。打乱 Sobol 和 Niederreiter-Xing 点。复杂性杂志,第 14 卷第 4 期,第 466-489 页,1998 年 12 月。

  • I. M. Sobol。立方体内点的分布和积分的精确评估。计算数学与数学物理杂志,第 7 卷,第 784-802 页,1967 年。

参数:
  • 维度(整型)- 要抽取的序列的维度

  • scramble(布尔值,可选)- 将此设置为 True 将生成打乱的 Sobol 序列。打乱可以生成更好的 Sobol 序列。默认: False

  • seed(整型,可选)- 这是打乱的种子。如果指定,随机数生成器的种子设置为这个值。否则,使用随机种子。默认: None

示例:

>>> soboleng = torch.quasirandom.SobolEngine(dimension=5)
>>> soboleng.draw(3)
tensor([[0.0000, 0.0000, 0.0000, 0.0000, 0.0000],
        [0.5000, 0.5000, 0.5000, 0.5000, 0.5000],
        [0.7500, 0.2500, 0.2500, 0.2500, 0.7500]])
draw(n=1, out=None, dtype=None)[source][source]

从 Sobol 序列中抽取一系列 n 点的函数。注意,样本依赖于前面的样本。结果的大小为 (n,dimension)(n, dimension)

参数:
  • n (Int, 可选) – 要绘制的点序列的长度。默认:1

  • out (Tensor, 可选) – 输出张量

  • dtype ( torch.dtype , 可选) – 返回张量的期望数据类型。默认: None

返回类型:

张量

draw_base2(m, out=None, dtype=None)[source][source]

绘制从 Sobol 序列中得到的 2**m 个点的序列的函数。请注意,样本依赖于前一个样本。结果的大小为 (2m,dimension)(2**m, dimension)

参数:
  • m (Int) – 要绘制的点数的(二进制)指数。

  • out (Tensor, 可选) – 输出张量

  • dtype ( torch.dtype ,可选) – 返回张量的期望数据类型。默认: None

返回类型:

张量

fast_forward(n)[source][source]

函数用于将 SobolEngine 的状态快速前进 n 步。这相当于在不使用样本的情况下绘制 n 个样本。

参数:

n (Int) – 快速前进的步数。

reset()[source][source]

函数用于将 SobolEngine 重置到基础状态。


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

查找开发资源并获得您的疑问解答

查看资源