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在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
Python去除字符串两端空格的方法
May 21 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
利用Python开发实现简单的记事本
Nov 15 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
Python实现字典的遍历与排序功能示例
Dec 23 Python
python 正确保留多位小数的实例
Jul 16 Python
对python读写文件去重、RE、set的使用详解
Dec 11 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
python datetime时间格式的相互转换问题
Jun 11 Python
Python打包exe时各种异常处理方案总结
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通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
JavaScript实现x秒后自动跳转到一个页面
2013/01/03 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
Vue3.0数据响应式原理详解
2019/10/09 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
Python2和3字符编码的区别知识点整理
2019/08/08 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
会计顶岗实习心得
2014/01/25 职场文书
小学国庆节活动方案
2014/02/11 职场文书
教师党员一句话承诺
2014/03/28 职场文书
投资合作协议书
2014/04/17 职场文书
市场推广策划方案
2014/06/02 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
捐书活动倡议书
2015/04/27 职场文书
生产车间管理制度
2015/08/04 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android