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) 的 2-D 输入张量。输入的每一行表示一个分类分布,每个列索引包含给定类别的对数概率。

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

参数

  • logits: 形状为 (batch_size, num_classes) 的 2-D 张量。每一行应定义一个分类分布,其中包含所有类别的未归一化对数概率。
  • num_samples: Int,为输入的每一行抽取的独立样本数。这将是输出张量形状的第二个维度。
  • 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) 的 2-D 张量。


[源代码]

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 参数。