tensorflow-讀寫資料tf.data(2)
阿新 • • 發佈:2018-12-20
從簡單的、可重用的部分構建複雜的輸入管道。
例如,影象模型的管道可以聚合分散式檔案系統中檔案中的資料,對每個影象應用隨機擾動,並將隨機選擇的影象合併成一批進行訓練。文字模型的管道可能包括從原始文字資料中提取符號,將它們轉換為嵌入查詢表的識別符號,以及將不同長度的序列批處理在一起。
tf.data API使處理大量資料、不同的資料格式和複雜的轉換變得容易。
tf.data.Dataset表示一個元素序列,其中每個元素包含一個或多個張量物件。例如,在影象管道中,元素可能是單個訓練示例,其中有一對張量表示影象資料和一個標籤。建立資料集有兩種不同的方法:
建立一個源(例如data et.from_tensor_slice())從一個或多個tf.Tensor 構造一個數據集。
應用轉換(例如data et.batch())從一個或多個tf.data.Dataset構造一個數據集
tf.data.Iterator 提供了從資料集中提取元素的主要方法。
Iterator.get_next()返回的操作在執行時生成資料集的下一個元素,通常充當輸入管道程式碼和模型之間的介面。最簡單的迭代器是“一次性迭代器”,它與特定的資料集關聯並迭代一次。對於更復雜的用途,迭代器。初始化器操作使您能夠使用不同的資料集重新初始化和引數化迭代器,例如,您可以在同一個程式中多次迭代訓練和驗證資料。