库兰

提供伪随机数发生器(PRNG)和准随机数发生器(QRNG)。请参阅NVIDIA cuRAND

类 PRNG

accelerate.cuda.rand.PRNG( *args , **kws )

cuRAND 伪随机数发生器

参数:
  • rndtype – 算法类型。所有可能的值都列为此类的类属性,例如 TEST、DEFAULT、XORWOW、MRG32K3A、MTGP32。
  • 种子- RNG 的种子。
  • offset – 随机数流的偏移量
  • – CUDA 流。

例子:

>>> accelerate.cuda 进口 兰德
>>> numpy的 进口 
>>> PRNG  = 兰特PRNG ( rndtype = rand . PRNG . XORWOW ) 
>>> r  = ( 10 ) 
>>> prng 统一( r ) 
>>> r
数组([ ... ])
lognormal( ary , mean , sigma , size=None )
生成采样的浮点随机数
从对数正态分布并填充到ary。
参数:
  • ary – Numpy 数组或 cuda 设备数组。
  • mean – 分布的中心。
  • sigma – 分布的标准偏差。
  • size – 样本数。默认为数组大小。
normal( ary , mean , sigma , size=None )

生成从正态分布采样的浮点随机数并填充到ary中。

参数:
  • ary – Numpy 数组或 cuda 设备数组。
  • mean – 分布的中心。
  • sigma – 分布的标准偏差。
  • size – 样本数。默认为数组大小。
poisson( ary , lmbd , size=None )

生成从泊松分布采样的浮点随机数并填充到 ary。

参数:
  • ary – Numpy 数组或 cuda 设备数组。
  • lmbda – 发行版的 Lambda。
  • size – 样本数。默认为数组大小。
uniform( ary , size=None )
生成采样的浮点随机数
从均匀分布并填充到ary。
参数:
  • ary – Numpy 数组或 cuda 设备数组。
  • size – 样本数。默认为数组大小。
seed

RNG 种子的可变属性

类 QRNG

accelerate.cuda.rand.QRNG( *args , **kws )

cuRAND 准随机数发生器

参数:
  • rndtype – 算法类型。还控制输出数据类型。所有可能的值都列为此类的类属性,例如 TEST、DEFAULT、SOBOL32、SCRAMBLED_SOBOL32、SOBOL64、SCRAMABLED_SOBOL64。
  • ndimQRNG的维数。
  • offset – 随机数流的偏移量
  • – CUDA 流。
generate( ary , size=None )

生成 ary 中的准随机数。

参数:
  • ary – Numpy 数组或 cuda 设备数组。
  • 大小——样本数量;默认为数组大小。必须是 ndim 的倍数。
ndim

QRNG 维数的可变属性。

顶级 PRNG 函数

PRNG 方法的简单接口。

笔记

此方法会自动创建一个 PRNG 对象。

accelerate.cuda.rand.uniform( size , dtype=<type 'float'> , device=False )

生成从均匀分布中采样的浮点随机数

参数:
  • size – 样本数。
  • D型- np.float32或np.float64。
  • device – 设置为 True 以返回设备数组或 numpy 数组。
返回:

numpy 数组或设备数组。

>>> accelerate.cuda 导入 兰特
>>>兰特统一大小= 10 
数组([...])
accelerate.cuda.rand.normal( mean , sigma , size , dtype=<type 'float'> , device=False )

生成从正态分布采样的浮点随机数

参数:
  • mean – 分布的中心点。
  • sigma – 分布的标准偏差。
  • 大小——样本数。
  • D型- np.float32或np.float64。
  • device – 设置为 True 以返回设备数组或 ndarray。
返回:

numpy 数组或设备数组。

>>> accelerate.cuda 导入 兰特
>>>兰特正常均值= 0  西格玛= 1  大小= 10 
数组([...])
accelerate.cuda.rand.lognormal( mean , sigma , size , dtype=<type 'float'> , device=False )

生成从对数正态分布采样的浮点随机数。

参数:
  • mean – 分布的中心点。
  • sigma – 分布的标准偏差。
  • size – 样本数。
  • D型- np.float32或np.float64。
  • device – 设置为 True 以返回设备数组或 ndarray。
返回:

numpy 数组或设备数组。

>>> accelerate.cuda 导入 兰特
>>>兰特对数正态( mean = 0 ,  sigma = 1 ,  size = 10 ) 
array([...])
accelerate.cuda.rand.poisson( lmbd , size , device=False )

生成从泊松分布采样的 int32 随机数。

参数:
  • lmbda – 分布的 Lambda。
  • size – 样本数量
  • device – 设置为 True 以返回设备数组或 ndarray。
返回:

numpy 数组或设备数组。

>>> accelerate.cuda 导入 兰特
>>>兰特泊松( lmbd = 1 , 大小= 10 )
数组 ([...], dtype=uint32)

顶级 QRNG 函数

QRNG 方法的简单接口。

笔记

此方法会自动创建一个 QRNG 对象。

accelerate.cuda.rand.quasi( size , bits=32 , nd=1 , device=False )

使用 SOBOL{bits} RNG 类型生成准随机数。

参数:
  • size – 样本数。
  • bits – 输出元素的位长;例如 32 或 64。
  • nd – 维数。
  • device – 设置为 True 以返回设备数组或 ndarray。
返回:

numpy 数组或设备数组。

>>> accelerate.cuda 导入 兰特
>>>兰特( 10 )
数组([...], dtype=uint32)