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

 更新时间:2020年06月03日 11:27:10   作者:青盏  
这篇文章主要介绍了tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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(训练过程最常用的顺序)

先看结果:

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

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

2.顺序2

先看结果:

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

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

3.顺序3

先看结果:

解释:相当于把所有数据先打包成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实现网页链接提取的方法分享

    这篇文章主要介绍了python实现的网页链接提取的方法,需要的朋友可以参考下
    2014-02-02
  • Python简单几步画个钻石戒指

    Python简单几步画个钻石戒指

    这篇文章主要介绍了Python简单几步画个钻石戒指,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • python函数存储在模块的优点及用法总结

    python函数存储在模块的优点及用法总结

    在本篇文章里小编给大家整理了一篇关于python函数存储在模块的优点及用法相关内容,有兴趣的朋友们可以跟着学习下。
    2021-10-10
  • Java文件与类动手动脑实例详解

    Java文件与类动手动脑实例详解

    在本篇文章里小编给大家整理的是关于Java文件与类动手动脑实例知识点,有需要的朋友们学习参考下。
    2019-11-11
  • Python在字符串中处理html和xml的方法

    Python在字符串中处理html和xml的方法

    这篇文章主要介绍了Python在字符串中处理html和xml的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • python 多进程和多线程使用详解

    python 多进程和多线程使用详解

    这篇文章主要介绍了python 多进程和多线程使用详解,帮助大家更好得理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • 最大K个数问题的Python版解法总结

    最大K个数问题的Python版解法总结

    这篇文章主要介绍了最大K个数问题的Python版解法总结,以最大K个数问题为基础的算法题目在面试和各大考试及竞赛中经常出现,需要的朋友可以参考下
    2016-06-06
  • python中wordcloud安装的方法小结

    python中wordcloud安装的方法小结

    这篇文章主要介绍了安装python中wordcloud的几种方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python正则表达式实例代码

    python正则表达式实例代码

    这篇文章主要介绍了python正则表达式的一些实例代码,方便学习python的朋友,需要的朋友可以参考下
    2020-03-03
  • pytorch训练imagenet分类的方法

    pytorch训练imagenet分类的方法

    今天小编就为大家分享一篇pytorch训练imagenet分类的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07

最新评论