欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TensorFlow中讀數(shù)據(jù)三種方法

C語言專家集中營 ? 來源:lp ? 2019-04-01 14:40 ? 次閱讀

TensorFlow中讀數(shù)據(jù)一般有三種方法:

使用placeholder讀內(nèi)存中的數(shù)據(jù)

使用queue讀硬盤中的數(shù)據(jù)

使用Dataset讀內(nèi)存?zhèn)€硬盤中的數(shù)據(jù)

基本概率

由于第三種方法在語法上更簡潔,因此本文主要介紹第三種方法。官方給出的Dataset API類圖:

image.png

其中終于重要的兩個基礎(chǔ)類:Dateset和Iterator。Dateset是具有相同類型的“元素”的有序表,元素可以是向量、字符串、圖片等。

從內(nèi)存中創(chuàng)建Dataset

以數(shù)字元素為例:

例1

從Dataset中實例化一個Iterator,然后對Iterator進(jìn)行迭代。

iterator = dataset.make_one_shot_iterator()

從dataset中實例化一個iterator,是“one shot iterator”,即只能從頭到尾讀取一次。

one_element = iterator.get_next()

從iterator中取出一個元素, one_element是一個tensor,因此需要調(diào)用sess.run(one_element)取出值。

如果元素被讀取完了,再sess.run(one_element)會拋出tf.errors.OutOfRangeError異常。解決方法:使用 dataset.repeat()

更復(fù)雜的輸入形式,例如,在圖像識別的應(yīng)用中,一個元素可以使{“image”:image_tensor, “l(fā)abel”:lable_tensor}

dataset = tf.data.Dataset.from_tensor_slices( { "a": np.array([1.0, 2.0, 3.0, 4.0, 5.0]), "b": np.random.uniform(size=(5, 2)) } )

最終dataset中的一個元素為{"a": 1.0, "b": [0.9, 0.1]}的形式。或者

dataset = tf.data.Dataset.from_tensor_slices( (np.array([1.0, 2.0, 3.0, 4.0, 5.0]), np.random.uniform(size=(5, 2))) )

對Dataset中的元素做變換:Transformation

一個Dataset通過Transformation變成一個新的Dataset。常用的操作有:

map

batch

shuffle

repeat

下面分別來介紹以上幾個操作。(1)mapmap接收一個函數(shù),dataset中的每個元素都可以作為這個函數(shù)的輸入,并將函數(shù)的返回值作為新的dataset,例如:

dataset = tf.data.Dataset.from_tensor_slices(np.array([1.0, 2.0, 3.0, 4.0, 5.0])) dataset = dataset.map(lambda x: x + 1) # 2.0, 3.0, 4.0, 5.0, 6.0

(2)batch將多個元素組合成batch,例如:

dataset = dataset.batch(32)

(3)shuffle打亂dataset中的元素,參數(shù)buffersize表示打亂時buffer的大小。

dataset = dataset.shuffle(buffer_size=10000)

(4)repeat將整個序列重復(fù)多次,只用用來處理epoch。如果直接調(diào)用repeat()的話,生成的序列就會無限重復(fù)下去,沒有結(jié)束,因此也不會拋出。tf.errors.OutOfRangeError異常:

dataset = dataset.repeat(5)

例子:讀磁盤圖片與對應(yīng)的label

讀入磁盤中的圖片和圖片相應(yīng)的label,并將其打亂,組成batch_size=32的訓(xùn)練樣本。在訓(xùn)練時重復(fù)10個epoch。

# 函數(shù)的功能時將filename對應(yīng)的圖片文件讀進(jìn)來,并縮放到統(tǒng)一的大小def _parse_function(filename, label): image_string = tf.read_file(filename) image_decoded = tf.image.decode_image(image_string) image_resized = tf.image.resize_images(image_decoded, [28, 28]) return image_resized, label# 圖片文件的列表filenames = tf.constant(["/var/data/image1.jpg", "/var/data/image2.jpg", ...])# label[i]就是圖片filenames[i]的labellabels = tf.constant([0, 37, ...])# 此時dataset中的一個元素是(filename, label)dataset = tf.data.Dataset.from_tensor_slices((filenames, labels))# 此時dataset中的一個元素是(image_resized, label)dataset = dataset.map(_parse_function)# 此時dataset中的一個元素是(image_resized_batch, label_batch)dataset = dataset.shuffle(buffersize=1000).batch(32).repeat(10)# 此時dataset中的一個元素是(image_resized_batch, label_batch)# image_resized_batch的形狀為(32, 28, 28, 3), label_batch的形狀為(32, )

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    63013
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    329

    瀏覽量

    60637
  • DataSet
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2212

原文標(biāo)題:TensorFlow讀數(shù)據(jù)

文章出處:【微信號:C_Expert,微信公眾號:C語言專家集中營】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    labview查看本機ip的三種方法

    做TCP通訊的時候,有時候需要知道自己的IP雖然知道自己電腦ip可以不用這么麻煩,但是有時候就想用自己所學(xué)來獲得自己所需,職業(yè)病 咳咳這里給出得到本地IP的三種方法。源程序,在附件里。
    發(fā)表于 11-27 17:17

    啟動Redis的三種方法

    Redis筆記(1)——安裝、卸載、三種方法啟動Redis,Redis命令使用(干貨十足),Redis兩種方法設(shè)置密碼,時間復(fù)雜度(更完善哦~)
    發(fā)表于 06-08 16:09

    LwIP協(xié)議棧開發(fā)嵌入式網(wǎng)絡(luò)的三種方法有何關(guān)系

    LwIP協(xié)議棧開發(fā)嵌入式網(wǎng)絡(luò)的三種方法分析 輕量級的TCP/IP協(xié)議棧LwIP,提供了三種應(yīng)用程序設(shè)計方法,且很容易被移植到多任務(wù)的操作系統(tǒng)。本文結(jié)合μC/OS-II這一實時操作系統(tǒng)
    發(fā)表于 08-05 07:55

    噪聲系數(shù)測量的三種方法

    噪聲系數(shù)測量的三種方法 本文介紹了測量噪聲系數(shù)的三種方法:增益法、Y
    發(fā)表于 05-07 13:38 ?2174次閱讀

    解決電池問題有三種方法

    解決電池問題有三種方法      對于手機電池問題如何解決,業(yè)內(nèi)人士指出有以下三種方法:   一、發(fā)明新型電池。目前有日本生產(chǎn)商已經(jīng)展示了概念性的燃
    發(fā)表于 11-10 14:26 ?963次閱讀

    臺式機CMOS放電三種方法

    現(xiàn)有的主板大多設(shè)計了CMOS放電跳線方便用戶進(jìn)行放電操作,不過CMOS放電的方法也不止這一,閱讀下文了解臺式機CMOS放電三種方法。
    發(fā)表于 01-09 11:01 ?5.3w次閱讀
    臺式機CMOS放電<b class='flag-5'>三種方法</b>

    電感變壓器漆包線快速去漆的三種方法盤點

    電感變壓器如何快速的去漆呢?一般在實際的工作,一般采用手工去皮,電動剝皮,剝離劑剝皮這三種方法來進(jìn)行去漆,那么這三種種方法更高效呢?
    發(fā)表于 12-21 14:12 ?1.6w次閱讀

    python統(tǒng)計詞頻的三種方法

    python統(tǒng)計詞頻的三種方法方法。
    發(fā)表于 05-25 14:33 ?2次下載

    獲得更高輸出電流的三種方法

    的79dB PSRR(1MHz)。一些客戶要求將電流提高到200mA以上,同時仍保持低噪聲和高PSRR。本文探討了獲得更高輸出電流的三種方法,并提供了實用的輸入,以幫助您確定哪種方法最適合您的電路條件。這三種方式是:
    的頭像 發(fā)表于 01-08 15:32 ?6355次閱讀
    獲得更高輸出電流的<b class='flag-5'>三種方法</b>

    噪聲系數(shù)測量的三種方法

    本文介紹了測量噪聲系數(shù)的三種方法:增益法、Y系數(shù)法和噪聲系數(shù)測試儀法。這三種方法的比較以表格的形式給出。
    的頭像 發(fā)表于 05-18 11:02 ?1407次閱讀
    噪聲系數(shù)測量的<b class='flag-5'>三種方法</b>

    【世說設(shè)計】噪聲系數(shù)測量的三種方法

    本文介紹了測量噪聲系數(shù)的三種方法:增益法、Y系數(shù)法和噪聲系數(shù)測試儀法。這三種方法的比較以表格的形式給出。在無線通信系統(tǒng),噪聲系數(shù)(NF)或者相對應(yīng)的噪聲因數(shù)(F)定義了噪聲性能和對接
    的頭像 發(fā)表于 05-19 10:38 ?1187次閱讀
    【世說設(shè)計】噪聲系數(shù)測量的<b class='flag-5'>三種方法</b>

    pwm產(chǎn)生的三種方法

    pwm產(chǎn)生的三種方法 PWM(Pulse Width Modulation)是一常用的控制技術(shù),可以通過調(diào)節(jié)開關(guān)管的通斷時間,通過改變輸出波形的占空比來實現(xiàn)對電路的控制。在現(xiàn)代工業(yè)控制,PWM
    的頭像 發(fā)表于 09-02 10:25 ?7856次閱讀

    三種方法實現(xiàn)串口接收不定長度的數(shù)據(jù)

    下面三種方式都親測可用,實際使用時應(yīng)采用第三種方法,更有效率。
    的頭像 發(fā)表于 09-14 16:16 ?1.2w次閱讀
    <b class='flag-5'>三種方法</b>實現(xiàn)串口接收不定長度的<b class='flag-5'>數(shù)據(jù)</b>

    修復(fù)鋰電池的三種方法

    電子發(fā)燒友網(wǎng)站提供《修復(fù)鋰電池的三種方法.doc》資料免費下載
    發(fā)表于 11-15 10:40 ?5次下載
    修復(fù)鋰電池的<b class='flag-5'>三種方法</b>

    傳統(tǒng)激光功率衰減的三種方法

    傳統(tǒng)激光功率衰減通常使用以下三種方法,分別為中性密度衰減片衰減法、偏振衰減法、鍍膜光學(xué)鏡片衰減法。
    的頭像 發(fā)表于 01-20 10:42 ?1907次閱讀
    傳統(tǒng)激光功率衰減的<b class='flag-5'>三種方法</b>