数据流

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格式的feed字典(以占位符作为键,以数据作为值)。
  • 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)

获取下一个feed字典。

返回值

一个TensorFlow feed字典,如果没有更多数据,则返回“False”。

start (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,则数据将被随机打乱。

返回值

XY数据张量,如果multi_inputs为True,则为列表(X)和Y数据张量。