資料流程

tflearn.data_flow.DataFlow (coord, num_threads=8, max_queue=32, shuffle=False, continuous=False, ensure_data_order=False, dprep_dict=None, daug_dict=None)

使用即時預處理和控制資料流程的基本類別。支援並行處理以加速運算。

引數

  • coord: Coordinator。Tensorflow 協調器。
  • num_threads: int。處理資料的同時執行緒總數。
  • max_queue: int。佇列中儲存的資料最大數量。
  • shuffle: bool。如果設定為 True,將會洗牌資料。
  • continuous: bool。如果設定為 True,當一個時期結束後,將會再次提供相同的資料。
  • ensure_data_order: bool。確保使用 'next' 檢索資料時保持資料順序(處理速度會更慢)。
  • dprep_dict: dict。進行即時資料預處理的資料預處理參數選項。其金鑰必須是佔位符,而其值必須是 DataPreprocessing 子類別物件。
  • daug_dict: dict。進行即時資料擴充的資料擴充參數選項。其金鑰必須是佔位符,而其值必須是 DataAugmentation 子類別物件。

FeedDictFlow

tflearn.data_flow.FeedDictFlow (feed_dict, coord, batch_size=128, num_threads=8, max_queue=32, shuffle=False, continuous=False, ensure_data_order=False, dprep_dict=None, daug_dict=None, index_array=None)

從資料集產生批次串流。它使用兩個佇列,一個用於產生批次資料 ID,另一個用於載入資料並套用預處理。如果 continuous 設定為 True,除非呼叫 stopcoord 中斷執行緒,否則資料流程將不會結束。

引數

  • feed_dict: dict。TensorFlow 格式化的提供字典(佔位符為金鑰,資料為值)。
  • coord: Coordinator。Tensorflow 協調器。
  • num_threads: int。處理資料的同時執行緒總數。
  • max_queue: int。佇列中儲存的資料最大數量。
  • shuffle: bool。如果設定為 True,將會洗牌資料。
  • continuous: bool。如果設定為 True,當一個時期結束後,將會再次提供相同的資料。
  • ensure_data_order: bool。確保使用 'next' 檢索資料時保持資料順序(處理速度會更慢)。
  • dprep_dict: dict。進行即時資料預處理的資料預處理參數選項。其金鑰必須是佔位符,而其值必須是 DataPreprocessing 子類別物件。
  • daug_dict: dict。進行即時資料擴充的資料擴充參數選項。其金鑰必須是佔位符,而其值必須是 DataAugmentation 子類別物件。
  • index_array: list。索引選項清單,用於取代使用整個資料集索引(適用於驗證分割)。

方法

next (timeout=None)

取得下一個提供字典。

傳回值

TensorFlow 提供字典,或 'False'(如果沒有更多資料)。

開始 (reset_status=True)

引數
  • reset_status: bool。如果為 True,DataStatus 會重設。
傳回值

ArrayFlow

tflearn.data_flow.ArrayFlow (X, Y, multi_inputs=False, batch_size=32, shuffle=True)

將陣列範例轉換為張量並將其儲存在佇列中。

引數

  • X: array。特徵資料陣列。
  • Y: array。目標資料陣列。
  • multi_inputs: bool。如果 X 有多個輸入來源(即 X 是陣列清單),設定為 True。
  • batch_size: int。批次大小。
  • shuffle: bool。如果為 True,資料會隨機排列。

傳回值

如果 multi_inputs 為 True,則為 XY 資料張量或清單 (X) 和 Y 資料張量。