tf.data.Dataset读取数据

  • A+
所属分类:机器学习

tf.data.Dataset读取数据

参考文章

导入数据  |  TensorFlow Core  |  TensorFlow

tf.data.Dataset API

TensorFlow全新的数据读取方式:Dataset API入门教程-知乎

读取数据

1.读取内存中的Numpy数组/DataFrame

2.读取内存中的大Numpy数组/DataFrame

第一种方法会有内存消耗的问题。参见:

请注意,上面的代码段会将 data 数组作为 tf.constant() 指令嵌入在 TensorFlow 图中。这样非常适合小型数据集,但会浪费内存,因为会多次复制数组的内容,并可能会达到 tf.GraphDef 协议缓冲区的 2GB 上限。

作为替代方案,您可以根据 tf.placeholder() 张量定义 Dataset,并在对数据集初始化 Iterator 时馈送 NumPy 数组。

但是遗憾的是,这种方法不能在Eager Execution下运行。

3. 传入CSV数据

查看数据

在Eager模式下可以轻松地查看数据

注:不能直接print(data.take(1))

循环

在Eager模式下循环迭代数据

在Graph模式下,此方式会无限次次迭代,可以采用下面这种方式。make_one_shot_iterator().get_next() 这种方式在Eager模式下也可执行。

LTXU

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: