當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python mxnet.ndarray.op.sample_multinomial用法及代碼示例


用法:

mxnet.ndarray.op.sample_multinomial(data=None, shape=_Null, get_prob=_Null, dtype=_Null, out=None, name=None, **kwargs)

參數

  • data(NDArray) - 分布概率。最後一個軸上的總和必須為 1。
  • shape(Shape(tuple), optional, default=[]) - 要從每個隨機分布中采樣的形狀。
  • get_prob(boolean, optional, default=0) - 是否也返回采樣結果的對數概率。這通常用於通過隨機變量進行區分,例如在強化學習中。
  • dtype({'float16', 'float32', 'float64', 'int32', 'uint8'},optional, default='int32') - 輸出的 DType,以防無法推斷。
  • out(NDArray, optional) - 輸出 NDArray 來保存結果。

返回

out- 此函數的輸出。

返回類型

NDArray 或 NDArray 列表

來自多個多項分布的並發采樣。

data 是一個 n 維數組,其最後一維的長度為 k ,其中 k 是每個多項分布的可能結果數。此運算符將從每個分布中抽取 shape 樣本。如果 shape 為空,將從每個分布中抽取一個樣本。

如果get_prob 為真,則還將返回包含抽取樣本的對數似然的第二個數組。這通常用於強化學習,您可以提供獎勵作為該數組的頭部梯度來估計梯度。

請注意,輸入分布必須標準化,即 data 必須沿其最後一個軸總和為 1。

例子:

probs = [[0, 0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1, 0]]

// Draw a single sample for each distribution
sample_multinomial(probs) = [3, 0]

// Draw a vector containing two samples for each distribution
sample_multinomial(probs, shape=(2)) = [[4, 2],
                                        [0, 0]]

// requests log likelihood
sample_multinomial(probs, get_prob=True) = [2, 1], [0.2, 0.3]

相關用法


注:本文由純淨天空篩選整理自apache.org大神的英文原創作品 mxnet.ndarray.op.sample_multinomial。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。