1. 程式人生 > >tensorflow-讀寫數據tf.data(2)

tensorflow-讀寫數據tf.data(2)

分布式 嵌入 next() 輸入 之間 執行 能夠 多個 包括

從簡單的、可重用的部分構建復雜的輸入管道。

例如,圖像模型的管道可以聚合分布式文件系統中文件中的數據,對每個圖像應用隨機擾動,並將隨機選擇的圖像合並成一批進行訓練。文本模型的管道可能包括從原始文本數據中提取符號,將它們轉換為嵌入查找表的標識符,以及將不同長度的序列批處理在一起。

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()返回的操作在執行時生成數據集的下一個元素,通常充當輸入管道代碼和模型之間的接口。最簡單的叠代器是“一次性叠代器”,它與特定的數據集關聯並叠代一次。對於更復雜的用途,叠代器。初始化器操作使您能夠使用不同的數據集重新初始化和參數化叠代器,例如,您可以在同一個程序中多次叠代訓練和驗證數據。

tensorflow-讀寫數據tf.data(2)