Keras 3 API文档 / RNG API / 随机操作

随机操作

[源代码]

beta 函数

keras.random.beta(shape, alpha, beta, dtype=None, seed=None)

从 Beta 分布中抽取样本。

值从以 alpha 和 beta 为参数的 Beta 分布中抽取。

参数

  • shape: 要生成的随机值的形状。
  • alpha: 表示第一个参数 alpha 的浮点数或浮点数数组。必须能与 betashape 进行广播。
  • beta: 表示第二个参数 beta 的浮点数或浮点数数组。必须能与 alphashape 进行广播。
  • dtype: 张量的可选 dtype。仅支持浮点类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

binomial 函数

keras.random.binomial(shape, counts, probabilities, dtype=None, seed=None)

从二项分布中抽取样本。

值从具有指定试验次数和成功概率的二项分布中抽取。

参数

  • shape: 要生成的随机值的形状。
  • counts: 表示试验次数的数字或数字数组。必须能与 probabilities 进行广播。
  • probabilities: 表示单次事件成功概率的浮点数或浮点数数组。必须能与 counts 进行广播。
  • dtype: 张量的可选 dtype。仅支持浮点类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

categorical 函数

keras.random.categorical(logits, num_samples, dtype="int32", seed=None)

从分类分布中抽取样本。

此函数接收 logits 作为输入,它是一个形状为 (batch_size, num_classes) 的 2D 输入张量。输入的每一行代表一个分类分布,其中每一列索引包含给定类别的对数概率。

该函数将输出一个形状为 (batch_size, num_samples) 的 2D 张量,其中每一行包含来自 logits 中相应行的样本。每一列索引包含从输入分布中独立抽取的样本。

参数

  • logits: 形状为 (batch_size, num_classes) 的 2D 张量。每一行应定义一个分类分布,包含所有类别的未归一化对数概率。
  • num_samples: 整数,为输入的每一行抽取的独立样本数。这将是输出张量形状的第二个维度。
  • dtype: 输出张量的可选 dtype。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

返回

一个形状为 (batch_size, num_samples) 的 2D 张量。


[源代码]

dropout 函数

keras.random.dropout(inputs, rate, noise_shape=None, seed=None)

[源代码]

gamma 函数

keras.random.gamma(shape, alpha, dtype=None, seed=None)

从 Gamma 分布中抽取随机样本。

参数

  • shape: 要生成的随机值的形状。
  • alpha: 分布的参数(浮点数)。
  • dtype: 张量的可选 dtype。仅支持浮点类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

normal 函数

keras.random.normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None)

从正态(高斯)分布中抽取随机样本。

参数

  • shape: 要生成的随机值的形状。
  • mean: 随机值生成的均值(浮点数),默认为 0。
  • stddev: 随机值生成的标准差(浮点数),默认为 1。
  • dtype: 张量的可选 dtype。仅支持浮点类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

randint 函数

keras.random.randint(shape, minval, maxval, dtype="int32", seed=None)

从均匀分布中抽取随机整数。

生成的将遵循 [minval, maxval) 范围内的均匀分布。范围包含下界 minval,但不包含上界 maxval

dtype 必须是整数类型。

参数

  • shape: 要生成的随机值的形状。
  • minval: 要生成的随机值的范围的下界(含)(浮点数),默认为 0。
  • maxval: 要生成的随机值的范围的上界(不含)(浮点数),默认为 1。
  • dtype: 张量的可选 dtype。仅支持整数类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

shuffle 函数

keras.random.shuffle(x, axis=0, seed=None)

沿一个轴将张量的元素随机均匀地打乱。

参数

  • x: 要打乱的张量。
  • axis: 指定沿哪个轴进行打乱的整数。默认为 0
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

truncated_normal 函数

keras.random.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None)

从截断正态分布中抽取样本。

从具有指定均值和标准差的正态分布中抽取值,丢弃并重新抽取任何距离均值超过两个标准差的样本。

参数

  • shape: 要生成的随机值的形状。
  • mean: 随机值生成的均值(浮点数),默认为 0。
  • stddev: 随机值生成的标准差(浮点数),默认为 1。
  • dtype: 张量的可选 dtype。仅支持浮点类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。

[源代码]

uniform 函数

keras.random.uniform(shape, minval=0.0, maxval=1.0, dtype=None, seed=None)

从均匀分布中抽取样本。

生成的将遵循 [minval, maxval) 范围内的均匀分布。范围包含下界 minval,但不包含上界 maxval

dtype 必须是浮点类型,默认范围为 [0, 1)

参数

  • shape: 要生成的随机值的形状。
  • minval: 要生成的随机值的范围的下界(含)(浮点数),默认为 0。
  • maxval: 要生成的随机值的范围的上界(不含)(浮点数),默认为 1。
  • dtype: 张量的可选 dtype。仅支持浮点类型。如果未指定,则使用 keras.config.floatx(),它默认为 float32,除非您另有配置(通过 keras.config.set_floatx(float_dtype))。
  • seed: 可选的 Python 整数或 keras.random.SeedGenerator 实例。默认情况下,seed 参数为 None,并使用内部全局 keras.random.SeedGeneratorseed 参数可用于确保确定性(可重复)的随机数生成。请注意,将整数作为 seed 值传递会为每次调用产生相同的随机值。要为重复调用生成不同的随机值,必须将 keras.random.SeedGenerator 的实例作为 seed 值提供。关于 JAX 后端的说明:在通过 JAX 后端跟踪函数时,不支持全局 keras.random.SeedGenerator。因此,在跟踪期间,默认值 seed=None 将导致错误,并且必须提供 seed 参数。