Tensorflow队列多线程读取数据的方法是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1780个文字,预计阅读时间需要8分钟。
在TensorFlow中,数据输入有三种方式:1. 使用feed_dict传入numpy数组;2. 从文件中直接读取数据到队列;3. 预加载数据。其中,第一种方式最为常用,如在MNIST训练源码中,通过fe输入数据。
在tensorflow中,有三种方式输入数据
1. 利用feed_dict送入numpy数组
2. 利用队列从文件中直接读取数据
3. 预加载数据
其中第一种方式很常用,在tensorflow的MNIST训练源码中可以看到,通过feed_dict={},可以将任意数据送入tensor中。
第二种方式相比于第一种,速度更快,可以利用多线程的优势把数据送入队列,再以batch的方式出队,并且在这个过程中可以很方便地对图像进行随机裁剪、翻转、改变对比度等预处理,同时可以选择是否对数据随机打乱,可以说是非常方便。该部分的源码在tensorflow官方的CIFAR-10训练源码中可以看到,但是对于刚学习tensorflow的人来说,比较难以理解,本篇博客就当成我调试完成后写的一篇总结,以防自己再忘记具体细节。
本文共计1780个文字,预计阅读时间需要8分钟。
在TensorFlow中,数据输入有三种方式:1. 使用feed_dict传入numpy数组;2. 从文件中直接读取数据到队列;3. 预加载数据。其中,第一种方式最为常用,如在MNIST训练源码中,通过fe输入数据。
在tensorflow中,有三种方式输入数据
1. 利用feed_dict送入numpy数组
2. 利用队列从文件中直接读取数据
3. 预加载数据
其中第一种方式很常用,在tensorflow的MNIST训练源码中可以看到,通过feed_dict={},可以将任意数据送入tensor中。
第二种方式相比于第一种,速度更快,可以利用多线程的优势把数据送入队列,再以batch的方式出队,并且在这个过程中可以很方便地对图像进行随机裁剪、翻转、改变对比度等预处理,同时可以选择是否对数据随机打乱,可以说是非常方便。该部分的源码在tensorflow官方的CIFAR-10训练源码中可以看到,但是对于刚学习tensorflow的人来说,比较难以理解,本篇博客就当成我调试完成后写的一篇总结,以防自己再忘记具体细节。

