随机采样 (cupy.random)#
与 numpy.random 相比,cupy.random 的不同之处:
在
cupy.random下的多数函数支持dtype选项,这在相应的 NumPy API 中并不存在。此选项使得可以直接生成 float32 值,而无需任何空间开销。cupy.random.default_rng()默认使用 XORWOW 位生成器。随机状态无法序列化。详情请参见下文描述。
CuPy 不保证在主要版本之间使用相同的随机数生成器。这意味着由新主要版本生成的
cupy.random的数字可能与之前的版本不同,即使使用相同的种子和分布。
新的随机数生成器 API#
随机数生成器#
|
使用默认的 BitGenerator (XORWOW) 构造一个新的生成器。 |
|
BitGenerators 的容器。 |
比特生成器#
|
通用 BitGenerator。 |
CuPy 提供了以下位生成器实现:
|
使用 cuRAND XORWOW 设备生成器的 BitGenerator。 |
|
使用 cuRAND MRG32k3a 设备生成器的 BitGenerator。 |
|
使用 cuRAND Philox4x3210 设备生成器的 BitGenerator。 |
传统随机生成#
|
伪随机数生成器的可移植容器。 |
在 cupy.random 中的函数#
|
Beta 分布。 |
|
二项分布。 |
|
返回随机字节。 |
|
卡方分布。 |
|
返回从给定的一维数组中随机抽取的值的数组。 |
|
狄利克雷分布。 |
|
指数分布。 |
|
F 分布。 |
|
Gamma 分布。 |
|
几何分布。 |
|
返回从Gumbel分布中抽取的样本数组。 |
|
超几何分布。 |
|
拉普拉斯分布。 |
|
逻辑分布。 |
|
返回从对数正态分布中抽取的样本数组。 |
|
日志系列分布。 |
|
从多项分布中返回一个数组。 |
|
多元正态分布。 |
|
负二项分布。 |
|
非中心卡方分布。 |
|
非中心 F 分布。 |
|
返回一个正态分布样本的数组。 |
|
帕累托 II 型或 Lomax 分布。 |
|
返回一个排列的范围或数组的排列。 |
|
泊松分布。 |
|
电力分配。 |
|
返回一个在区间 |
|
返回一个标量或一个整数值数组,范围在 |
|
返回一个标准正态随机值的数组。 |
|
返回一个在区间 |
|
返回一个标量或一个在 |
|
返回一个在区间 |
|
返回一个在区间 |
|
瑞利分布。 |
|
返回一个在区间 |
|
使用种子重置随机数生成器的状态。 |
|
打乱数组。 |
|
标准柯西分布。 |
|
标准指数分布。 |
|
标准伽马分布。 |
|
返回从标准正态分布中抽取的样本数组。 |
|
标准学生 t 分布。 |
|
三角分布。 |
|
返回一个在区间内均匀分布的样本数组。 |
|
von Mises 分布。 |
|
Wald 分布。 |
|
威布尔分布。 |
|
齐普夫分布。 |
CuPy 目前不提供 cupy.random.get_state 和 cupy.random.set_state。请改用以下 CuPy 特定的 API。请注意,这些函数使用 cupy.random.RandomState 实例来表示内部状态,该状态无法序列化。
获取当前设备的随机数生成器的状态。 |
|
|
设置当前设备的随机数生成器的状态。 |