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:整数,为输入张量的每一行抽取的独立样本数。这将是输出张量形状的第二个维度。
  • 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)

从伽马分布中抽取随机样本。

参数

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