zoukankan      html  css  js  c++  java
  • tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

    1.作用

    • dataset.shuffle作用是将数据进行打乱操作,传入参数为buffer_size,改参数为设置“打乱缓存区大小”,也就是说程序会维持一个buffer_size大小的缓存,每次都会随机在这个缓存区抽取一定数量的数据
    • dataset.batch作用是将数据打包成batch_size
    • dataset.repeat作用就是将数据重复使用多少epoch

    2.各种不同顺序的区别

    示例代码(以下面代码作为说明):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # -*- 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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    文章来源:https://www.jb51.net/article/187944.htm

  • 相关阅读:
    链表--反转链表(leetcode 206
    链表--重排链表(leetcode 143
    链表--删除链表中的结点(leetcode 237
    链表--K个一组反转链表(leetcode 25
    链表--相交链表(leetcode 160
    链表--两数相加II(leetcode 445
    链表--复制含有随机指针节点的链表(leetcode138
    链表--回文链表(leetcode234
    链表--环形链表(leetcode 141,142
    链表--分隔链表(leetcode86
  • 原文地址:https://www.cnblogs.com/wisir/p/13497261.html
Copyright © 2011-2022 走看看