資料流程
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
,除非呼叫 stop
或 coord
中斷執行緒,否則資料流程將不會結束。
引數
- 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,則為 X
和 Y
資料張量或清單 (X
) 和 Y
資料張量。