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 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
使用go和python递归删除.ds store文件的方法
Jan 22 Python
Python设计模式之单例模式实例
Apr 26 Python
python统计一个文本中重复行数的方法
Nov 19 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
Python 字符串换行的多种方式
Sep 06 Python
python+mysql实现教务管理系统
Feb 20 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 Python
python matplotlib 画dataframe的时间序列图实例
Nov 20 Python
使用tensorflow显示pb模型的所有网络结点方式
Jan 23 Python
Python selenium实现断言3种方法解析
Sep 08 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 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
DISCUZ 分页代码
2007/01/02 PHP
php创建多级目录代码
2008/06/05 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
PHP清除字符串中所有无用标签的方法
2014/12/01 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
js异步加载的三种解决方案
2013/03/04 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
Python笔记(叁)继续学习
2012/10/24 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
Nike香港官网:Nike HK
2019/03/23 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
餐饮投资计划书
2014/04/25 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书