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读取html中指定元素生成excle文件示例
Apr 03 Python
Python中subprocess模块用法实例详解
May 20 Python
Python自动扫雷实现方法
Jul 25 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
Python有序字典简单实现方法示例
Sep 28 Python
python利用sklearn包编写决策树源代码
Dec 21 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
Python3中bytes类型转换为str类型
Sep 27 Python
利用python中集合的唯一性实现去重
Feb 11 Python
最小二乘法及其python实现详解
Feb 24 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
PyCharm常用配置和常用插件(小结)
Feb 06 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校验表单检测字段是否为空的方法
2015/03/20 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
JavaScript中操作字符串小结
2015/05/04 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
json字符串传到前台input的方法
2018/08/06 Javascript
koa-router源码学习小结
2018/09/07 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Python操作列表之List.insert()方法的使用
2015/05/20 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
python实现图片转字符画的完整代码
2021/02/21 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
在校学生证明格式
2015/06/24 职场文书
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS