tensorflow中的数据集类Dataset有一个shuffle方法,用来打乱数据集中数据顺序,训练时非常常用。其中shuffle方法有一个参数buffer_size,非常令人费解,文档的解释如下:

buffer_size: A tf.int64 scalar tf.Tensor, representing the number of elements from this dataset from which the new dataset will sample.

你看懂了吗?反正我反复看了这说明十几次,仍然不知所指。

首先,Dataset会取所有数据的前buffer_size数据项,填充 buffer,如下图

然后,从buffer中随机选择一条数据输出,比如这里随机选中了item 7,那么bufferitem 7对应的位置就空出来了

然后,从Dataset中顺序选择最新的一条数据填充到buffer中,这里是item 10

然后在从Buffer中随机选择下一条数据输出。

需要说明的是,这里的数据项item,并不只是单单一条真实数据,如果有batch size,则一条数据项item包含了batch size条真实数据。

shuffle是防止数据过拟合的重要手段,然而不当的buffer size,会导致shuffle无意义,具体可以参考这篇Importance of buffer_size in shuffle()

转载自:
https://zhuanlan.zhihu.com/p/42417456

数据集shuffle方法中buffer_size的理解相关推荐

  1. Bitmap类getPixels()方法中参数stride理解

    转载自:http://blog.csdn.net/jie_qing/article/details/7259520 在学习Graphics中遇到位图(Bitmap)中getPixels()方法,对该方 ...

  2. CALPHAD方法中“外推”的理解

    碎碎念 最初接触到CALPHAD方法的时候,我最大的疑惑就是二元体系的热力学模型是如何整合到三元体系?请教了学长得到的答案是,"把二元的相加在一起就是三元啦." 当然这个模糊的答案 ...

  3. 应用在机器学习中的聚类数据集产生方法

    简 介: 本文根据 机器学习中常用的聚类数据集生成方法 中的内容进行编辑实验和整理而得.并在之后对于聚类数据库生成进行不断的补充. 关键词: 机器学习,聚类算法,数据集合 §01 直接生成   这类方 ...

  4. shuffle函数中的参数buffer_size

    学习tensorflow的时候,在加载数据集部分(tf.data.Dataset)遇到了一个打乱数据集的函数shuffle,里面有一个参数buffer_size.官方文档描述为: 参数buffer_s ...

  5. ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码

    ML之FE:特征工程中常用的五大数据集划分方法(特殊类型数据分割,如时间序列数据分割法)讲解及其代码 目录 特殊类型数据分割 5.1.时间序列数据分割TimeSeriesSplit 特殊类型数据分割 ...

  6. ruby array_Ruby中带有示例的Array.shuffle方法

    ruby array Array.shuffle方法 (Array.shuffle Method) In this article, we will study about Array.shuffle ...

  7. numpy中amin()方法中维度axis=0 1 2 的理解

    https://www.jianshu.com/p/6f58d7f39147 numpy中amin()方法中维度axis=0 1 2 的理解 axis=0  从最外一层的维度来比较 (对半比较  虽然 ...

  8. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解 ArcGIS Engine中总调用IFeatureClass ...

  9. python中shuffle怎么用_Python|有趣的shuffle方法

    问题描述 Pythonrandom的"shuffle方法随机化序列项"是我们在学习中会经常遇到的一个知识点,今天我们就来简单的学习一下吧!解决方案 在学习这个方法时我们就要了解他是 ...

最新文章

  1. 图片像素、英寸、厘米之间的单位换算
  2. 升级BIOS解决DELL R730XD虚拟机死机问题
  3. Windows注册文件类型信息的学习心得
  4. 介绍理想工作计算机 英语作文,我的理想工作英语作文(精选5篇)
  5. 常见的一些功能测试用例
  6. C++字符串处理操作符重载
  7. 95. Unique Binary Search Trees II 不同的二叉搜索树 II
  8. (转载)tomcat5下jsp出现getOutputStream() has already been called for this
  9. 计算机组成原理尾数的求法,计算机组成原理第八讲(运算办法).ppt
  10. CentOS7.4通过ssh连接到服务器的时候特别慢
  11. 基于C++的即时通信软件设计
  12. Metasploit——渗透攻击模块(Exploit)
  13. Word怎么添加页码
  14. vue实践学习——keep-alive属性及生命周期
  15. 辽宁师范大学计算机学院查寝吗,辽宁师范大学影视艺术学院
  16. LPC1758积累--boot程序bin文件校验
  17. 中国历史朝代 英文翻译 A Brief Chinese Chronology
  18. springboot大学生兼职网站开发与设计毕业设计源码311734
  19. Locust使用手册--开始使用Locust
  20. VoIP系统故障排除:7个常见问题处理方法

热门文章

  1. python中的format方法和int方法
  2. python基础教程:类型转换和舍入
  3. Python正则表达式的7个使用典范
  4. Python 开发工具链全解
  5. C语言strchr()函数(字符串中查找子字符)
  6. SQ_20200326_Z-TEK主动式USB-5m延长线对于Intel Realsense D435掉线情况测试
  7. Jupyter notebook的内核是什么?Ipython
  8. python 安装PIL包的方法以及简单介绍
  9. Redis基本数据类型1--String
  10. wegame饥荒一直连接中_腾讯WeGame注册用户超3亿 国产游戏销量超500万