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


Python tf.compat.v1.data.Dataset.batch用法及代碼示例


用法

batch(
    batch_size, drop_remainder=False, num_parallel_calls=None, deterministic=None,
    name=None
)

參數

  • batch_size tf.int64 標量 tf.Tensor ,表示要在單個批次中組合的此數據集的連續元素的數量。
  • drop_remainder (可選。)一個 tf.bool 標量 tf.Tensor ,表示在最後一批少於 batch_size 元素的情況下是否應刪除它;默認行為是不丟棄較小的批次。
  • num_parallel_calls (可選。)tf.int64 標量 tf.Tensor ,表示要並行異步計算的批次數。如果未指定,批次將按順序計算。如果使用值tf.data.AUTOTUNE,則並行調用的數量根據可用資源動態設置。
  • deterministic (可選。)指定 num_parallel_calls 時,如果指定了此布爾值( TrueFalse ),它將控製轉換生成元素的順序。如果設置為 False ,則允許轉換產生無序元素,以用確定性換取性能。如果未指定,則 tf.data.Options.deterministic 選項(默認為 True)控製行為。
  • name (可選。) tf.data 操作的名稱。

返回

  • Dataset 一個Dataset

將此數據集的連續元素組合成批次。

dataset = tf.data.Dataset.range(8)
dataset = dataset.batch(3)
list(dataset.as_numpy_iterator())
[array([0, 1, 2]), array([3, 4, 5]), array([6, 7])]
dataset = tf.data.Dataset.range(8)
dataset = dataset.batch(3, drop_remainder=True)
list(dataset.as_numpy_iterator())
[array([0, 1, 2]), array([3, 4, 5])]

結果元素的組件將有一個額外的外部維度,它將是batch_size(或者如果batch_size沒有將輸入元素N的數量除以drop_remainder是最後一個元素,則為N % batch_size,並且drop_remainderFalse)。如果您的程序依賴於具有相同外部尺寸的批次,則應將 drop_remainder 參數設置為 True 以防止生成較小的批次。

注意:如果您的程序要求數據具有靜態已知的形狀(例如,使用 XLA 時),您應該使用 drop_remainder=True 。如果沒有drop_remainder=True,輸出數據集的形狀將具有未知的前導維度,因為最終批次可能較小。

相關用法


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