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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python自動(dòng)化測試中APScheduler?Flask的應(yīng)用示例
這篇文章主要為大家介紹了python自動(dòng)化測試中APScheduler?Flask的應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Python基礎(chǔ)文件操作方法超詳細(xì)講解(詳解版)
文件就是操作系統(tǒng)為用戶或應(yīng)用程序提供的一個(gè)讀寫硬盤的虛擬單位,文件的核心操作就是讀和寫,這篇文章主要介紹了Python基礎(chǔ)文件操作方法超詳細(xì)講解的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
Python實(shí)現(xiàn)ping指定IP的示例
今天小編就為大家分享一篇Python實(shí)現(xiàn)ping指定IP的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python 并發(fā)下載器實(shí)現(xiàn)方法示例
這篇文章主要介紹了python 并發(fā)下載器實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了并發(fā)下載器相關(guān)原理及Python并發(fā)下載視頻的相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
解決Tensorflow 使用時(shí)cpu編譯不支持警告的問題
今天小編就為大家分享一篇解決Tensorflow 使用時(shí)cpu編譯不支持警告的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python使用ffmpy將amr格式的音頻轉(zhuǎn)化為mp3格式的例子
今天小編就為大家分享一篇Python使用ffmpy將amr格式的音頻轉(zhuǎn)化為mp3格式的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08

