tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳解
1.作用
- dataset.shuffle作用是將數(shù)據(jù)進(jìn)行打亂操作,傳入?yún)?shù)為buffer_size,改參數(shù)為設(shè)置“打亂緩存區(qū)大小”,也就是說程序會(huì)維持一個(gè)buffer_size大小的緩存,每次都會(huì)隨機(jī)在這個(gè)緩存區(qū)抽取一定數(shù)量的數(shù)據(jù)
- dataset.batch作用是將數(shù)據(jù)打包成batch_size
- dataset.repeat作用就是將數(shù)據(jù)重復(fù)使用多少epoch
2.各種不同順序的區(qū)別
示例代碼(以下面代碼作為說明):
# -*- 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(訓(xùn)練過程最常用的順序)
先看結(jié)果:
解釋:相當(dāng)于把所有數(shù)據(jù)先打亂,然后打包成batch輸出,整體數(shù)據(jù)重復(fù)2個(gè)epoch
特點(diǎn):1.一個(gè)batch中的數(shù)據(jù)不會(huì)重復(fù);2.每個(gè)epoch的最后一個(gè)batch的尺寸小于等于batch_size
2.順序2
先看結(jié)果:
解釋:相當(dāng)于把所有數(shù)據(jù)先打亂,再把所有數(shù)據(jù)重復(fù)兩個(gè)epoch,然后將重復(fù)兩個(gè)epoch的數(shù)據(jù)放在一起,最后打包成batch_size輸出
特點(diǎn):1.因?yàn)榘褦?shù)據(jù)復(fù)制兩份,還進(jìn)行打亂,因此某個(gè)batch數(shù)據(jù)可能會(huì)重復(fù),而且出現(xiàn)重復(fù)數(shù)據(jù)的batch只會(huì)是兩個(gè)batch交叉的位置;2.最后一個(gè)batch的尺寸小于等于batch_size
3.順序3
先看結(jié)果:
解釋:相當(dāng)于把所有數(shù)據(jù)先打包成batch,然后把打包成batch的數(shù)據(jù)重復(fù)兩遍,最后再將所有batch打亂進(jìn)行輸出
特點(diǎn):1.打亂的是batch;2.某些batch的尺寸小于等于batch_size,因?yàn)槭菍?duì)batch進(jìn)行打亂,所以這些batch不一定是最后一個(gè)
3.其他組合方式
根據(jù)上面幾種順序,大家可以自己分析其他順序的輸出結(jié)果
到此這篇關(guān)于tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳解的文章就介紹到這了,更多相關(guān)tensorflow dataset.shuffle、dataset.batch、dataset.repeat內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python調(diào)用staf自動(dòng)化框架的方法
今天小編就為大家分享一篇python調(diào)用staf自動(dòng)化框架的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12淺談關(guān)于Python3中venv虛擬環(huán)境
這篇文章主要介紹了淺談關(guān)于Python3中venv虛擬環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08多線程python的實(shí)現(xiàn)及多線程有序性
這篇文章主要介紹了多線程python的實(shí)現(xiàn)及多線程有序性,多線程一般用于同時(shí)調(diào)用多個(gè)函數(shù),cpu時(shí)間片輪流分配給多個(gè)任務(wù)2022-06-06python使用MkDocs自動(dòng)生成文檔的操作方法
python代碼注釋風(fēng)格有很多,比較主流的有 reStructuredText風(fēng)格、numpy風(fēng)格、Google風(fēng)格,自動(dòng)生成文檔的工具也有很多,常見的有:Pydocs,Sphinx和MkDocs,本文給大家介紹了python使用MkDocs自動(dòng)生成文檔的操作方法,需要的朋友可以參考下2024-06-06Python+unittest+requests+excel實(shí)現(xiàn)接口自動(dòng)化測(cè)試框架
這篇文章主要介紹了Python+unittest+requests+excel實(shí)現(xiàn)接口自動(dòng)化測(cè)試框架,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12