tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解


Posted in Python onJune 03, 2020

1.作用

  • dataset.shuffle作用是将数据进行打乱操作,传入参数为buffer_size,改参数为设置“打乱缓存区大小”,也就是说程序会维持一个buffer_size大小的缓存,每次都会随机在这个缓存区抽取一定数量的数据
  • dataset.batch作用是将数据打包成batch_size
  • dataset.repeat作用就是将数据重复使用多少epoch

2.各种不同顺序的区别

示例代码(以下面代码作为说明):

# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np
 
dataset = tf.data.Dataset.from_tensor_slices(np.arange(20).reshape((4, 5)))
 
dataset = dataset.shuffle(100)
dataset = dataset.batch(3)
dataset = dataset.repeat(2)
 
sess = tf.Session()
 
iterator = dataset.make_one_shot_iterator()
input_x = iterator.get_next()
 
print(sess.run(input_x))
print(sess.run(input_x))
print(sess.run(input_x))
print(sess.run(input_x))

1.顺序1(训练过程最常用的顺序)

tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

先看结果:

tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

解释:相当于把所有数据先打乱,然后打包成batch输出,整体数据重复2个epoch

特点:1.一个batch中的数据不会重复;2.每个epoch的最后一个batch的尺寸小于等于batch_size

2.顺序2

tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

先看结果:

tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

解释:相当于把所有数据先打乱,再把所有数据重复两个epoch,然后将重复两个epoch的数据放在一起,最后打包成batch_size输出

特点:1.因为把数据复制两份,还进行打乱,因此某个batch数据可能会重复,而且出现重复数据的batch只会是两个batch交叉的位置;2.最后一个batch的尺寸小于等于batch_size

3.顺序3

tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

先看结果:

tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

解释:相当于把所有数据先打包成batch,然后把打包成batch的数据重复两遍,最后再将所有batch打乱进行输出

特点:1.打乱的是batch;2.某些batch的尺寸小于等于batch_size,因为是对batch进行打乱,所以这些batch不一定是最后一个

3.其他组合方式

根据上面几种顺序,大家可以自己分析其他顺序的输出结果

到此这篇关于tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解的文章就介绍到这了,更多相关tensorflow dataset.shuffle、dataset.batch、dataset.repeat内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 用正则表达式筛选文本信息的实例
Jun 05 Python
Python错误处理操作示例
Jul 18 Python
python开启debug模式的方法
Jun 27 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
flask框架json数据的拿取和返回操作示例
Nov 28 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
python3 配置logging日志类的操作
Apr 08 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
浅谈Python数学建模之整数规划
Jun 23 Python
利用python实现平稳时间序列的建模方式
Jun 03 #Python
Python ADF 单位根检验 如何查看结果的实现
Jun 03 #Python
基于Python快速处理PDF表格数据
Jun 03 #Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
Jun 03 #Python
Python3创建Django项目的几种方法(3种)
Jun 03 #Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 #Python
使用python实现时间序列白噪声检验方式
Jun 03 #Python
You might like
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
phpQuery占用内存过多的处理方法
2013/11/13 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
php微信开发接入
2016/08/27 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
js实现车辆管理系统
2020/08/26 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
Python实现代码统计工具
2019/09/19 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
销售找工作求职信
2013/12/20 职场文书
企业军训感言
2014/02/08 职场文书
婚礼主持结束词
2014/03/13 职场文书
大学校务公开实施方案
2014/03/31 职场文书
管理建议书范文
2014/05/13 职场文书
经营目标管理责任书
2014/07/25 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技