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 引數。