曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

TensorFlow數(shù)據(jù)讀取機(jī)制分析

大?。?/span>0.9 MB 人氣: 2017-09-28 需要積分:3
在學(xué)習(xí)TensorFlow的過程中,有很多小伙伴反映讀取數(shù)據(jù)這一塊很難理解。確實(shí)這一塊官方的教程比較簡(jiǎn)略,網(wǎng)上也找不到什么合適的學(xué)習(xí)材料。今天這篇文章就以圖片的形式,用最簡(jiǎn)單的語(yǔ)言,為大家詳細(xì)解釋一下TensorFlow的數(shù)據(jù)讀取機(jī)制,文章的最后還會(huì)給出實(shí)戰(zhàn)代碼以供參考。
  TensorFlow讀取機(jī)制圖解
  首先需要思考的一個(gè)問題是,什么是數(shù)據(jù)讀???以圖像數(shù)據(jù)為例,讀取數(shù)據(jù)的過程可以用下圖來表示:
  TensorFlow數(shù)據(jù)讀取機(jī)制分析
  假設(shè)我們的硬盤中有一個(gè)圖片數(shù)據(jù)集0001.jpg,0002.jpg,0003.jpg……我們只需要把它們讀取到內(nèi)存中,然后提供給GPU或是CPU進(jìn)行計(jì)算就可以了。這聽起來很容易,但事實(shí)遠(yuǎn)沒有那么簡(jiǎn)單。事實(shí)上,我們必須要把數(shù)據(jù)先讀入后才能進(jìn)行計(jì)算,假設(shè)讀入用時(shí)0.1s,計(jì)算用時(shí)0.9s,那么就意味著每過1s,GPU都會(huì)有0.1s無事可做,這就大大降低了運(yùn)算的效率。
  如何解決這個(gè)問題?方法就是將讀入數(shù)據(jù)和計(jì)算分別放在兩個(gè)線程中,將數(shù)據(jù)讀入內(nèi)存的一個(gè)隊(duì)列,如下圖所示:
  TensorFlow數(shù)據(jù)讀取機(jī)制分析
  讀取線程源源不斷地將文件系統(tǒng)中的圖片讀入到一個(gè)內(nèi)存的隊(duì)列中,而負(fù)責(zé)計(jì)算的是另一個(gè)線程,計(jì)算需要數(shù)據(jù)時(shí),直接從內(nèi)存隊(duì)列中取就可以了。這樣就可以解決GPU因?yàn)镮O而空閑的問題!
  而在TensorFlow中,為了方便管理,在內(nèi)存隊(duì)列前又添加了一層所謂的“文件名隊(duì)列”。
  為什么要添加這一層文件名隊(duì)列?我們首先得了解機(jī)器學(xué)習(xí)中的一個(gè)概念:epoch。對(duì)于一個(gè)數(shù)據(jù)集來講,運(yùn)行一個(gè)epoch就是將這個(gè)數(shù)據(jù)集中的圖片全部計(jì)算一遍。如一個(gè)數(shù)據(jù)集中有三張圖片A.jpg、B.jpg、C.jpg,那么跑一個(gè)epoch就是指對(duì)A、B、C三張圖片都計(jì)算了一遍。兩個(gè)epoch就是指先對(duì)A、B、C各計(jì)算一遍,然后再全部計(jì)算一遍,也就是說每張圖片都計(jì)算了兩遍。
  TensorFlow使用文件名隊(duì)列+內(nèi)存隊(duì)列雙隊(duì)列的形式讀入文件,可以很好地管理epoch。下面我們用圖片的形式來說明這個(gè)機(jī)制的運(yùn)行方式。如下圖,還是以數(shù)據(jù)集A.jpg, B.jpg, C.jpg為例,假定我們要跑一個(gè)epoch,那么我們就在文件名隊(duì)列中把A、B、C各放入一次,并在之后標(biāo)注隊(duì)列結(jié)束。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?