当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.data.TextLineDataset用法及代码示例


创建一个Dataset,包含来自一个或多个文本文件的行。

继承自:Dataset

用法

tf.data.TextLineDataset(
    filenames, compression_type=None, buffer_size=None, num_parallel_reads=None,
    name=None
)

参数

  • filenames 一个 tf.data.Dataset,其元素是 tf.string 标量、tf.string 张量或可以转换为 tf.string 张量的值(例如 Python 字符串列表)。
  • compression_type (可选。)tf.string 标量评估为 ""(无压缩)、"ZLIB""GZIP" 之一。
  • buffer_size (可选。)tf.int64 标量,表示要缓冲的字节数。值 0 会导致根据压缩类型选择默认缓冲值。
  • num_parallel_reads (可选。)tf.int64 标量,表示要并行读取的文件数。如果大于1,则以交错的顺序输出并行读取的文件记录。如果您的输入管道存在 I/O 瓶颈,请考虑将此参数设置为大于 1 的值以并行化 I/O。如果 None ,文件将被顺序读取。
  • name (可选。) tf.data 操作的名称。

属性

  • element_spec 此数据集元素的类型规范。
    dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3])
    dataset.element_spec
    TensorSpec(shape=(), dtype=tf.int32, name=None)

    如需更多信息,请阅读本指南。

tf.data.TextLineDataset 从文本文件加载文本并创建一个数据集,其中文件的每一行都成为数据集的一个元素。

例如,假设我们有 2 个文件 "text_lines0.txt" 和 "text_lines1.txt",其中包含以下行:

with open('/tmp/text_lines0.txt', 'w') as f:
  f.write('the cow\n')
  f.write('jumped over\n')
  f.write('the moon\n')
with open('/tmp/text_lines1.txt', 'w') as f:
  f.write('jack and jill\n')
  f.write('went up\n')
  f.write('the hill\n')

我们可以从它们构造一个 TextLineDataset,如下所示:

dataset = tf.data.TextLineDataset(['/tmp/text_lines0.txt',
                                   '/tmp/text_lines1.txt'])

数据集的元素预计为:

for element in dataset.as_numpy_iterator():
  print(element)
b'the cow'
b'jumped over'
b'the moon'
b'jack and jill'
b'went up'
b'the hill'

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.TextLineDataset。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。