TopPSampler

[來源]

TopPSampler 類別

keras_hub.samplers.TopPSampler(p=0.1, k=None, seed=None, **kwargs)

Top-P 取樣器類別。

此取樣器實作 top-p 搜尋演算法。Top-p 搜尋從輸出機率的最小子集中選擇權杖,這些機率的總和超過 p。換句話說,top-p 將首先按可能性排序權杖預測,並忽略在選定權杖的累積機率超過 p 之後的所有權杖,然後從剩餘權杖中選擇一個權杖。

引數

  • p:float,top-p 的 p 值。
  • k:int。如果設定,此引數定義在「top-p」取樣之前應用的一種啟發式「top-k」截斷。所有不在 top k 中的 logits 都將被丟棄,剩餘的 logits 將被排序以找到 p 的截斷點。設定此引數可以透過減少要排序的權杖數量來顯著加快取樣速度。預設為 None
  • seed:int。隨機種子。預設為 None

呼叫引數

{{call_args}}

範例

causal_lm = keras_hub.models.GPT2CausalLM.from_preset("gpt2_base_en")

# Pass by name to compile.
causal_lm.compile(sampler="top_p")
causal_lm.generate(["Keras is a"])

# Pass by object to compile.
sampler = keras_hub.samplers.TopPSampler(p=0.1, k=1_000)
causal_lm.compile(sampler=sampler)
causal_lm.generate(["Keras is a"])