今天我們繼續來幫大家介紹其他的TensorFow常用模組~
3. tf.data : 資料集的建立與預處理
tensorflow提供tf.data
這個模組,包含一套靈活的數據集構建API,能夠幫助使用者快速、有效率的構建數據輸入的管道 (尤其數據量大的情況下更適用)
。
tf.data.Dataset.from_tensor_slices() : 是tf.data.Dataset
最基礎的方法,適用於資料量較小的情況 (能夠全部都裝進內存)
。
tf.data.TFRocardDataset() : 專門用來處理特別巨大而無法完整載入記憶體的資料集 (只不過要先將資料處理成為TFRecord格式)
。
Dataset.map(f) : 對資料集的每個元素應用函數f,得到一個新的資料集
Dataset.shuffle(buffer_size) : 將資料集打亂 (設定固定大小的緩衝區,再取出前buffer_size
各元素放入,並從緩衝區中隨機取樣,取樣後的資料以後續資料替換之)
Dataset.batch(batch_size) : 將資料集分成批次。
Dataset.repeat() : 重複資料集的元素。
Dataset.take() : 擷取資料集中的前若干個元素。
Dataset.map() : 將所有圖片旋轉90度。
(圖片擷取至網路)
(MNIST資料集訓練後的輸出圖片)
4. TFRecord : TensorFlow 資料集儲存格式
tf.train.BytesList : 字元串或原始Byte檔案,通過bytes_list
參數傳入一個由字符串數組初始化的tf.train.BytestList
物件。
tf.train.FloatList : 浮點數,通過float_list
參數傳入一個由浮點數陣列初始化的tf.train.FloatList
物件。
tf.train.Int64List : 整數,通過int64_list
參數傳入一個由整數陣列初始化的tf.train.Int64List
物件。