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