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中的几种数据类型
Jan 02 Python
python编程嵌套函数实例代码
Feb 11 Python
Python内置模块logging用法实例分析
Feb 12 Python
浅析Python数据处理
May 02 Python
Flask框架配置与调试操作示例
Jul 23 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
python批量修改ssh密码的实现
Aug 08 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
Jun 15 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 Python
python os.listdir()乱码解决方案
Jan 31 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
德劲1103二次变频版的打磨
2021/03/02 无线电
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
2018/11/30 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
python与C互相调用的方法详解
2017/07/14 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Django实现跨域的2种方法
2019/07/31 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
好学生评语大全
2014/05/05 职场文书
开工仪式策划方案
2014/05/23 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
2014年维修工作总结
2014/11/22 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
总经理致辞
2015/07/29 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
详解如何用Python实现感知器算法
2021/06/18 Python
java中重写父类方法加不加@Override详解
2021/06/21 Java/Android
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS