tensorflow tf.train.batch之数据批量读取方式


Posted in Python onJanuary 20, 2020

在进行大量数据训练神经网络的时候,可能需要批量读取数据。于是参考了这篇文章的代码,结果发现数据一直批量循环输出,不会在数据的末尾自动停止。

然后发现这篇博文说slice_input_producer()这个函数有一个形参num_epochs,通过设置它的值就可以控制全部数据循环输出几次。

于是我设置之后出现以下的报错:

tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value input_producer/input_producer/limit_epochs/epochs

     [[Node: input_producer/input_producer/limit_epochs/CountUpTo = CountUpTo[T=DT_INT64, _class=["loc:@input_producer/input_producer/limit_epochs/epochs"], limit=2, _device="/job:localhost/replica:0/task:0/cpu:0"](input_producer/input_producer/limit_epochs/epochs)]]

找了好久,都不知道为什么会错,于是只好去看看slice_input_producer()函数的源码,结果在源码中发现作者说这个num_epochs如果不是空的话,就是一个局部变量,需要先调用global_variables_initializer()函数初始化。

于是我调用了之后,一切就正常了,特此记录下来,希望其他人遇到的时候能够及时找到原因。

哈哈,这是笔者第一次通过阅读源码解决了问题,心情还是有点小激动。啊啊,扯远了,上最终成功的代码:

import pandas as pd
import numpy as np
import tensorflow as tf


def generate_data():
  num = 25
  label = np.asarray(range(0, num))
  images = np.random.random([num, 5])
  print('label size :{}, image size {}'.format(label.shape, images.shape))
  return images,label

def get_batch_data():
  label, images = generate_data()
  input_queue = tf.train.slice_input_producer([images, label], shuffle=False,num_epochs=2)
  image_batch, label_batch = tf.train.batch(input_queue, batch_size=5, num_threads=1, capacity=64,allow_smaller_final_batch=False)
  return image_batch,label_batch


images,label = get_batch_data()
sess = tf.Session()
sess.run(tf.global_variables_initializer())
sess.run(tf.local_variables_initializer())#就是这一行
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess,coord)
try:
  while not coord.should_stop():
    i,l = sess.run([images,label])
    print(i)
    print(l)
except tf.errors.OutOfRangeError:
  print('Done training')
finally:
  coord.request_stop()
coord.join(threads)
sess.close()

以上这篇tensorflow tf.train.batch之数据批量读取方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python+Django搭建自己的blog网站
Mar 13 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
基于Python打造账号共享浏览器功能
May 30 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
Django 后台带有字典的列表数据与页面js交互实例
Apr 03 Python
30行Python代码实现高分辨率图像导航的方法
May 22 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
pytorch--之halfTensor的使用详解
May 24 Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 Python
Python一些基本的图像操作和处理总结
Jun 23 Python
Python list运算操作代码实例解析
Jan 20 #Python
Python模块future用法原理详解
Jan 20 #Python
使用Tensorflow将自己的数据分割成batch训练实例
Jan 20 #Python
Python JSON编解码方式原理详解
Jan 20 #Python
从训练好的tensorflow模型中打印训练变量实例
Jan 20 #Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 #Python
新年福利来一波之Python轻松集齐五福(demo)
Jan 20 #Python
You might like
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
php强制下载类型的实现代码
2011/04/21 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
js如何打印object对象
2015/10/16 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
pyspark 随机森林的实现
2020/04/24 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
青年志愿者活动总结
2014/04/26 职场文书
村道德模范事迹材料
2014/08/28 职场文书
宝塔更新Python及Flask项目的部署
2022/04/11 Python