TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和tf.data.Dataset机制
之前写了一篇博客,关于《Tensorflow生成自己的图片数据集TFrecord》,项目做多了,你会发现将数据转为TFrecord格式,实在是太麻烦了,灵活性太差!后面就总结一下TensorFlow数据读取机制,主要还是介绍tf.data.Dataset的数据读取机制(Pipeline机制)。
TensorFlow数据读取机制主要是两种方法:
(1)一种是使用文件队列方式,如使用slice_input_producer和string_input_producer;这种方法既可以将数据转存为TFrecord数据格式,也可以直接读取文件图片数据,当然转存为TFrecord数据格式进行读取,会更高效点
(2)另一种是TensorFlow 1.4版本后出现的tf.data.Dataset的数据读取机制(Pipeline机制)。这是TensorFlow强烈推荐的方式,是一种更高效的读取方式。使用tf.data.Dataset模块的pipline机制,可实现CPU多线程处理输入的数据,如读取图片和图片的一些的预处理,这样GPU可以专注于训练过程,而CPU去准备数据。
本博客Github源码:https://github.com/PanJinquan/tensorflow-learning-tutorials ->tf_record_demo文件夹(觉得可以,还请给个“Star”哦
之前专门写了一篇博客关于《 Tensorflow生成自己的图片数据集TFrecords(支持多标签label)》https://blog.youkuaiyun.com/guyuealian/article/details/80857228,主要实现的是使用自己的数据集制作TensorFlow的TFrecord数据格式。
From https://blog.youkuaiyun.com/guyuealian/article/details/85106012