TensorFlow函數(shù)教程:tf.nn.log_uniform_candidate_sampler

2019-01-31 13:50 更新

tf.nn.log_uniform_candidate_sampler函數(shù)

tf.nn.log_uniform_candidate_sampler(
    true_classes,
    num_true,
    num_sampled,
    unique,
    range_max,
    seed=None,
    name=None
)

定義在:tensorflow/python/ops/candidate_sampling_ops.py.

請參閱指南:神經(jīng)網(wǎng)絡(luò)>候選采樣

使用log-uniform(Zipfian)基本分布對一組類進(jìn)行采樣.

該操作從整數(shù)范圍[0, range_max)中隨機(jī)采樣一個(gè)采樣類(sampled_candidates)的張量.

sampled_candidates的元素從基礎(chǔ)分布中不使用替換(if unique=True)或使用替換(if unique=False)來繪制.

此操作的基本分布是近似log-uniform或Zipfian分布:

P(class) = (log(class + 2) - log(class + 1)) / log(range_max + 1)

當(dāng)目標(biāo)類大致遵循這樣的分布時(shí),此采樣器很有用 - 例如,如果類表示按頻率降序排序的詞典中的單詞.如果您的類沒有按降低頻率排序,請不要使用此操作.

此外,此操作返回張量true_expected_count和sampled_expected_count,表示每個(gè)目標(biāo)類(true_classes)和采樣類(sampled_candidates)預(yù)期在平均張量的采樣類中出現(xiàn)的次數(shù).如果unique=True,則這些是拒絕后概率,我們大致計(jì)算它們.

參數(shù):

  • true_classes:一個(gè)Tensor,類型為int64,shape為[batch_size, num_true].目標(biāo)類.
  • num_true:int.每個(gè)訓(xùn)練示例的目標(biāo)類數(shù).
  • num_sampled:int.隨機(jī)采樣的類數(shù).
  • unique:bool.確定批處理中的所有采樣類是否都是唯一的.
  • range_max:int.可能的類數(shù).
  • seed:int.特定于操作的seed.默認(rèn)值為0.
  • name:操作的名稱(可選).

返回:

  • sampled_candidates:類型為int64和shape為[num_sampled]的Tensor.抽樣類.
  • true_expected_count:類型為float的Tensor.其shape與true_classes相同.每個(gè)true_classes的采樣分布下的預(yù)期計(jì)數(shù).
  • sampled_expected_count:張量類型float.形狀相同sampled_candidates.每個(gè)sampled_candidates的采樣分布下的預(yù)期計(jì)數(shù).
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號