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: 可选的张量数据类型。仅支持浮点类型。如果未指定,则使用 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: 可选的张量数据类型。仅支持浮点类型。如果未指定,则使用 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: 输出张量的可选数据类型。
  • 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: 可选的张量数据类型。仅支持浮点类型。如果未指定,则使用 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: 可选的张量数据类型。仅支持浮点类型。如果未指定,则使用 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: 可选的张量数据类型。仅支持整数类型。如果未指定,则使用 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: 可选的张量数据类型。仅支持浮点类型。如果未指定,则使用 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: 可选的张量数据类型。仅支持浮点类型。如果未指定,则使用 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 参数。