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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
Python version 2.7 required, which was not found in the registry
Aug 26 Python
python3连接MySQL数据库实例详解
May 24 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
python利用thrift服务读取hbase数据的方法
Dec 27 Python
使用Python自动化破解自定义字体混淆信息的方法实例
Feb 13 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Python Django view 两种return的实现方式
Mar 16 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
python爬虫 requests-html的使用
Nov 30 Python
OpenCV3.3+Python3.6实现图片高斯模糊
May 18 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读取html并截取字符串的简单代码
2009/11/30 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
javascript web页面刷新的方法收集
2009/07/02 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
apply和call方法定义及apply和call方法的区别
2015/11/15 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Django中几种重定向方法
2015/04/28 Python
python中lambda与def用法对比实例分析
2015/04/30 Python
python中列表和元组的区别
2017/12/18 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
销售辞职报告范文
2014/01/12 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
项目合作意向书范本
2014/04/01 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
民间借贷借条如何写
2015/05/26 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
中秋节感想
2015/08/10 职场文书
导游词之镇江焦山
2019/11/21 职场文书
php+laravel 扫码二维码签到功能
2021/05/15 PHP
dubbo服务整合zipkin详解
2021/07/26 Java/Android
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android