tensorflow使用range_input_producer多线程读取数据
来源:互联网 发布:ui设计网站知乎 编辑:程序博客网 时间:2024/06/08 18:12
原文:http://blog.csdn.net/lyg5623/article/details/69387917
先放关键代码:
原理解析:第一行会产生一个队列,队列包含0到NUM_EXPOCHES-1的元素,如果num_epochs有指定,则每个元素只产生num_epochs次,否则循环产生。shuffle指定是否打乱顺序,这里shuffle=False表示队列的元素是按0到NUM_EXPOCHES-1的顺序存储。在Graph运行的时候,每个线程从队列取出元素,假设值为i,然后按照第二行代码切出array的一小段数据作为一个batch。例如NUM_EXPOCHES=3,如果num_epochs=2,则队列的内容是这样子;
0,1,2,0,1,2
队列只有6个元素,这样在训练的时候只能产生6个batch,迭代6次以后训练就结束。
如果num_epochs不指定,则队列内容是这样子:
0,1,2,0,1,2,0,1,2,0,1,2...
队列可以一直生成元素,训练的时候可以产生无限的batch,需要自己控制什么时候停止训练。
下面是完整的演示代码。
数据文件test.txt内容:
main.py内容:输出:
如果range_input_producer去掉参数num_epochs=1,则输出:
有一点需要注意,文件总共有35条数据,BATCH_SIZE = 6表示每个batch包含6条数据,NUM_EXPOCHES = 5表示产生5个batch,如果NUM_EXPOCHES =6,则总共需要36条数据,就会报如下错误:
错误信息的意思是35/BATCH_SIZE=5,即NUM_EXPOCHES 的取值能只能在0到5之间。
阅读全文
0 0
- tensorflow使用range_input_producer多线程读取数据
- tensorflow使用range_input_producer多线程读取数据
- tensorflow使用range_input_producer多线程读取数据
- 利用Tensorflow的队列多线程读取数据
- Tensorflow中使用tfrecord方式读取数据
- tensorflow爬坑行:数据读取
- Tensorflow图片数据读取
- Tensorflow读取数据
- Tensorflow读取数据
- tensorflow读取文件数据
- Tensorflow读取数据1
- Tensorflow数据读取方式
- Tensorflow图片数据读取
- tensorflow图片数据读取
- Tensorflow数据读取方法
- TensorFlow读取tfrecords数据
- tensorflow读取数据
- TensorFlow数据读取
- 浅谈Git工作流
- RMQ算法总结
- 遗传算法应用于随机森林的调参过程
- java内存模型
- 欢迎使用CSDN-markdown编辑器
- tensorflow使用range_input_producer多线程读取数据
- ZooKeeper实战应用之【统一配置管理】
- imx6ul之OpenWRT中使用mpd作为音频Server及其使用
- 扩展欧几里德总结
- POJ 2739 Sum of Consecutive Prime Numbers
- spring 源码阅读学习
- 关于Recyclerview删除item后的数据乱跳问题
- Manacher算法总结
- Android Art Hook 技术方案