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获取元素在数组中索引号的方法
Jul 15 Python
Python循环语句中else的用法总结
Sep 11 Python
python爬虫爬取网页表格数据
Mar 07 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
详解10个可以快速用Python进行数据分析的小技巧
Jun 24 Python
Python 硬币兑换问题
Jul 29 Python
Django中的静态文件管理过程解析
Aug 01 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
May 09 Python
Django用户登录与注册系统的实现示例
Jun 03 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
Python中requests做接口测试的方法
May 30 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
来自phpguru得Php Cache类源码
2010/04/15 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
PHP内核探索之变量
2015/12/22 PHP
jQuery Tools tab使用介绍
2012/07/14 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
Form表单上传文件(type="file")的使用
2017/08/03 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
浅谈python多线程和队列管理shell程序
2015/08/04 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python中如何写类
2020/06/29 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
python属于哪种语言
2020/08/16 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
中专三年学习的个人自我评价
2013/12/12 职场文书
村庄绿化方案
2014/05/07 职场文书
第一批党的群众路线教育实践活动总结报告
2014/07/03 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
在职证明书模板
2015/06/15 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python