TensorFlow Training函數(shù)(contrib)

2019-01-31 18:14 更新

培訓(xùn)和輸入實(shí)用程序。

將序列輸入分解成具有狀態(tài)保存的小批量

如果您的輸入數(shù)據(jù)具有動(dòng)態(tài)主時(shí)間/幀計(jì)數(shù)軸,您希望在 minibatching 期間將其轉(zhuǎn)換為固定大小段,并希望在示例的各段之間存儲(chǔ)狀態(tài),那么,使用tf.contrib.training.SequenceQueueingStateSaver 或其包裝 tf.contrib.training.batch_sequences_with_states 

  • tf.contrib.training.batch_sequences_with_states
  • tf.contrib.training.NextQueuedSequenceBatch
  • tf.contrib.training.SequenceQueueingStateSaver

在線數(shù)據(jù)重新取樣

若要以每個(gè)示例為基礎(chǔ)對(duì)數(shù)據(jù)進(jìn)行重采樣,請(qǐng)使用 tf.contrib.training.rejection_sample 或 tf.contrib.training.resample_at_rate。對(duì)于 rejection_sample,提供一個(gè)布爾張量來描述是否接受或拒絕.生成的批處理大小始終相同。對(duì)于 resample_at_rate,為每個(gè)示例提供所需的速率.生成的批處理大小可能會(huì)有所不同。如果您希望指定相對(duì)比率,而不是絕對(duì)值,請(qǐng)使用 tf.contrib.training.weighted_resample (這也會(huì)返回每個(gè)輸出示例使用的實(shí)際重新取樣率)。
使用 tf.contrib.training.stratified_sample 重新取樣,而無需從數(shù)據(jù)中進(jìn)行替換,以達(dá)到 Tensorflow 圖所看到的所需的類比例組合。例如,如果您有一個(gè)二進(jìn)制分類數(shù)據(jù)集 (99.9% 類 1),通常的方法是從數(shù)據(jù)中重新取樣以使數(shù)據(jù)更加平衡。

  • tf.contrib.training.rejection_sample
  • tf.contrib.training.resample_at_rate
  • tf.contrib.training.stratified_sample
  • tf.contrib.training.weighted_resample

Bucketing

使用 tf.contrib.training.bucket 或 tf.contrib.training.bucket_by_sequence_length 將分層 minibatches 成組 ("buckets")。使用已經(jīng)證明 dynamic_pad = True 的 bucket_by_sequence_length 來接受有相同大小的序列 minibatches,這樣是為了能通過 dynamic_rnn 來高效培訓(xùn)。

  • tf.contrib.training.bucket
  • tf.contrib.training.bucket_by_sequence_length
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)