色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TensorFlow中讀數據三種方法

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

TensorFlow中讀數據一般有三種方法:

使用placeholder讀內存中的數據

使用queue讀硬盤中的數據

使用Dataset讀內存個硬盤中的數據

基本概率

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

image.png

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

從內存中創建Dataset

以數字元素為例:

例1

從Dataset中實例化一個Iterator,然后對Iterator進行迭代。

iterator = dataset.make_one_shot_iterator()

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

one_element = iterator.get_next()

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

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

更復雜的輸入形式,例如,在圖像識別的應用中,一個元素可以使{“image”:image_tensor, “label”: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接收一個函數,dataset中的每個元素都可以作為這個函數的輸入,并將函數的返回值作為新的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中的元素,參數buffersize表示打亂時buffer的大小。

dataset = dataset.shuffle(buffer_size=10000)

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

dataset = dataset.repeat(5)

例子:讀磁盤圖片與對應的label

讀入磁盤中的圖片和圖片相應的label,并將其打亂,組成batch_size=32的訓練樣本。在訓練時重復10個epoch。

# 函數的功能時將filename對應的圖片文件讀進來,并縮放到統一的大小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, )

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4367

    瀏覽量

    64129
  • tensorflow
    +關注

    關注

    13

    文章

    330

    瀏覽量

    61019
  • DataSet
    +關注

    關注

    0

    文章

    5

    瀏覽量

    2278

原文標題:TensorFlow讀數據

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

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    labview查看本機ip的三種方法

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

    啟動Redis的三種方法

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

    LwIP協議棧開發嵌入式網絡的三種方法有何關系

    LwIP協議棧開發嵌入式網絡的三種方法分析 輕量級的TCP/IP協議棧LwIP,提供了三種應用程序設計方法,且很容易被移植到多任務的操作系統。本文結合μC/OS-II這一實時操作系統
    發表于 08-05 07:55

    噪聲系數測量的三種方法

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

    解決電池問題有三種方法

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

    臺式機CMOS放電三種方法

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

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

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

    python統計詞頻的三種方法

    python統計詞頻的三種方法方法
    發表于 05-25 14:33 ?2次下載

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

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

    噪聲系數測量的三種方法

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

    【世說設計】噪聲系數測量的三種方法

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

    pwm產生的三種方法

    pwm產生的三種方法 PWM(Pulse Width Modulation)是一常用的控制技術,可以通過調節開關管的通斷時間,通過改變輸出波形的占空比來實現對電路的控制。在現代工業控制,PWM
    的頭像 發表于 09-02 10:25 ?8538次閱讀

    三種方法實現串口接收不定長度的數據

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

    修復鋰電池的三種方法

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

    傳統激光功率衰減的三種方法

    傳統激光功率衰減通常使用以下三種方法,分別為中性密度衰減片衰減法、偏振衰減法、鍍膜光學鏡片衰減法。
    的頭像 發表于 01-20 10:42 ?2353次閱讀
    傳統激光功率衰減的<b class='flag-5'>三種方法</b>
    主站蜘蛛池模板: 久久WWW免费人成一看片 | 99欧美精品| 国产精品久久久久久52AVAV | 99热久久精品国产一区二区 | 男人脱女人衣服吃奶视频 | 共妻肉多荤文高h一女n男 | 国产精品2020观看久久 | 亚洲阿v天堂在线2017 | 内地同志男16china16 | 免费在线亚洲视频 | 麻生希第一部快播 | 999资源站 | 手机在线播放成人亚洲影院电影 | 中俄两军在日本海等上空战略巡航 | 4虎影院午夜在线观看 | 精品久久免费观看 | 好大好爽CAO死我了BL | 胸太大被男同桌吃好爽 | 久久久久琪琪精品色 | 久久99国产综合精品AV蜜桃 | 久久aa毛片免费播放嗯啊 | 国产欧美日韩中文视频在线 | 国产精品免费视频能看 | 免费成年人在线视频 | 大肥女ass樱桃 | 精品国产原创在线观看视频 | 欧美激情视频一区 | 天美传媒色情原创精品 | 欧美激情视频二区 | 人妻天天爽夜夜爽三区麻豆A片 | 亚洲午夜一区二区电影院 | 国产99久9在线 | 国产成人在线小视频 | 国精产品一区一区三区有限公司 | 亚洲精品成人A8198A片漫画 | 色久悠悠无码偷拍自怕 | 亚洲国产日韩a精品乱码 | 美女被爽cao免费漫画 | 国产精品无码人妻在线 | 色视频色露露永久免费观看 | 后入内射国产一区二区 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品