阅读(19.8k) 书签 (0)

TensorFlow 输入和读取器

2019-01-31 18:10 更新
注意:接受 Tensor 参数的函数也可以接受被 tf.convert_to_tensor 接受的任何内容

TensorFlow 占位符操作

TensorFlow 提供一个占位符操作,必须使用执行数据来进行输入。有关更多信息,请参阅 读取数据 部分。

对于 SparseTensor 复合型饲料,有一个方便的函数:

TensorFlow 读取器

TensorFlow 提供了一组用于读取数据格式的阅读器类。有关输入和读取器的更多信息,请参阅阅读数据.

TensorFlow 数据格式转换

TensorFlow 提供了几种可用于将各种数据格式转换成张量的操作。

协议缓冲区示例

TensorFlow 推荐的培训示例格式的英文序列化 Example 协议缓冲区,如此所述。它们包含 Features,这里描述

TensorFlow 队列

TensorFlow 提供了几个“队列”的实现,它们是 TensorFlow 计算图中的结构,用于将张量的管道放在一起.下面描述了基本的 Queue 接口和一些实现。

  • tf.QueueBase
  • tf.FIFOQueue
  • tf.PaddingFIFOQueue
  • tf.RandomShuffleQueue
  • tf.PriorityQueue

TensorFlow 条件累加器

TensorFlow 处理文件系统

TensorFlow 输入管道

TensorFlow 函数用于设置输入预取流水线。请参阅上下文的阅读数据操作方法。

输入管道的开始

"生产者" 函数将队列添加到图形中,并为运行填充该队列的子图提供相应的 QueueRunner。

  • tf.train.match_filenames_once
  • tf.train.limit_epochs
  • tf.train.input_producer
  • tf.train.range_input_producer
  • tf.train.slice_input_producer
  • tf.train.string_input_producer

在输入管道的末端进行批处理

这些函数为图形添加了一个队列,以汇集一批示例,并可能进行洗牌。他们还添加一个 QueueRunner 用于运行填充该队列的子图。

使用 tf.train.batch 或 tf.train.batch_join 处理已经被很好洗牌的示例。使用 tf.train.shuffle_batch 或 tf.train.shuffle_batch_join 例子,将受益于额外的洗牌。

如果您想要单个线程生成示例以进行批处理或者有一个生成示例的单个子图,就使用 tf.train.batch 或 tf.train.shuffle_batch,但是您想要在 N 个线程中运行(您增加N,直到可以保持队列满).如果您有N个不同的子图生成示例批处理,并希望它们由 N 个线程运行,使用 tf.train.batch_join 或 tf.train.shuffle_batch_join。有条件地使用 maybe_* 排队。

  • tf.train.batch
  • tf.train.maybe_batch
  • tf.train.batch_join
  • tf.train.maybe_batch_join
  • tf.train.shuffle_batch
  • tf.train.maybe_shuffle_batch
  • tf.train.shuffle_batch_join
  • tf.train.maybe_shuffle_batch_join