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 (Int, 可选) – 要绘制的点序列的长度。默认:1
out (Tensor, 可选) – 输出张量
dtype (
torch.dtype
, 可选) – 返回张量的期望数据类型。默认:None
- 返回类型:
- draw_base2(m, out=None, dtype=None)[source][source]¶
绘制从 Sobol 序列中得到的
2**m
个点的序列的函数。请注意,样本依赖于前一个样本。结果的大小为 。- 参数:
m (Int) – 要绘制的点数的(二进制)指数。
out (Tensor, 可选) – 输出张量
dtype (
torch.dtype
,可选) – 返回张量的期望数据类型。默认:None
- 返回类型: