最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

tensorflow之并行讀入數(shù)據(jù)詳解

 更新時(shí)間:2020年02月05日 10:42:18   作者:hh_2018  
今天小編就為大家分享一篇tensorflow之并行讀入數(shù)據(jù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近研究了一下并行讀入數(shù)據(jù)的方式,現(xiàn)在將自己的理解整理如下,理解比較淺,僅供參考。

并行讀入數(shù)據(jù)主要分

1. 創(chuàng)建文件名列表

2. 創(chuàng)建文件名隊(duì)列

3. 創(chuàng)建Reader和Decoder

4. 創(chuàng)建樣例列表

5. 創(chuàng)建批列表(讀取時(shí)可要可不要,一般情況下樣例列表可以執(zhí)行讀取數(shù)據(jù)操作,但是在實(shí)際訓(xùn)練的時(shí)候往往需要批列表來(lái)分批進(jìn)行數(shù)據(jù)的組織,提?。?/p>

其具體流程如下:

一、 文件名列表:

文件名列表是一個(gè)list類型的數(shù)據(jù),里面的內(nèi)容是需要用的數(shù)據(jù)文件名??梢允褂贸R?guī)的python語(yǔ)法入:[file1, file2]。也可以使用tf.train.match_filename_once方法通過(guò)匹配輸入。

二、文件名隊(duì)列

一般使用tf.train.string_input_producer的方法創(chuàng)建文件名隊(duì)列。該方法傳入的是一個(gè)文件名列表,輸出的是一個(gè)先進(jìn)先出隊(duì)列。在該方法中存在兩個(gè)重要參數(shù),num_epochs和shuffle。num_epochs表示列表遍歷的次數(shù),主要是由于有時(shí)候訓(xùn)練模型需要反復(fù)的遍歷數(shù)據(jù)集便于更新模型參數(shù),默認(rèn)情況下是None(循環(huán)遍歷)。shuffle表示是否隨機(jī)遍歷,默認(rèn)情況下是true,表示數(shù)據(jù)會(huì)隨機(jī)輸入隊(duì)列,當(dāng)想順序讀入數(shù)據(jù)時(shí)shuffle設(shè)置為false。至于其他的capacity表示列表的容量,shared_name表示共享時(shí)的名字。

三、Reader和Decoder

Reader的功能是讀取數(shù)據(jù)記錄,Decoder的功能是將數(shù)據(jù)的記錄轉(zhuǎn)化為張量格式。在使用時(shí)需要先創(chuàng)建輸入數(shù)據(jù)文件對(duì)應(yīng)的Reader,然后從文件名隊(duì)列中取出文件名,在調(diào)用Reader.read的方法返回一個(gè)類似于(輸入文件名,數(shù)據(jù)記錄)的元組。最后使用Decoder方法將每一列數(shù)據(jù)都轉(zhuǎn)化為張量的形式。

四、批隊(duì)列

批隊(duì)列可以在構(gòu)建圖之前事先構(gòu)建好,樣例隊(duì)列需要在圖中直接產(chǎn)生不用直接預(yù)定義。所以先介紹批隊(duì)列的構(gòu)建方式。批隊(duì)列主要是樣例打包聚集成批數(shù)據(jù),能供模型訓(xùn)練使用。一般是使用tf.train.shuffle_batch和tf.train.batch的方法構(gòu)建??梢钥刂婆拇笮。ㄒ淮涡宰x入的 數(shù)據(jù)大?。?,線程個(gè)數(shù),然后在圖中直接調(diào)用。

五、樣例隊(duì)列

樣例隊(duì)列的創(chuàng)建方式是隱式的,一般在圖中為了計(jì)算任務(wù)順利的輸入數(shù)據(jù),我們一般使用tf.train.start_queue_runners方法啟動(dòng)所有的入隊(duì)操作所需的線程,此時(shí)會(huì)自動(dòng)執(zhí)行所有的文件名入隊(duì)操作和文件名隊(duì)列的操作,執(zhí)行樣例隊(duì)列入隊(duì)和樣例隊(duì)列的操作。這些都是在后臺(tái)產(chǎn)生的。

六、線程協(xié)調(diào)器

并行讀取數(shù)據(jù)離不開(kāi)多線程操作,多線程操作離不開(kāi)線程調(diào)節(jié)器。tensorflow使用tf.train.Coordinatior方法創(chuàng)建管理多線程生命周期的調(diào)節(jié)器。調(diào)節(jié)器的工作原理比較簡(jiǎn)單,它監(jiān)控Tensoflow后臺(tái)的所有線程,當(dāng)某一個(gè)線程出現(xiàn)異常時(shí),它的should_stop方法返回true,最后調(diào)用request_stop終止所有的線程。但是要注意我們?cè)谑褂镁€程調(diào)節(jié)器之前一定要調(diào)用tf.local_variables_initializer方法進(jìn)行初始化。

七、讀入數(shù)據(jù)類型

tensorflow讀入的數(shù)據(jù)類型可以使csv,TFRecord和自由格式文件。CSV的讀取直接調(diào)用tf.TextLineReader構(gòu)建Reader,再調(diào)用tf.decoder_csv的方法對(duì)文件進(jìn)行解碼變?yōu)閺埩俊?/p>

TFRecoder是tensorflow標(biāo)準(zhǔn)的輸入格式,它是通過(guò)protocolBuffer構(gòu)建的存儲(chǔ)數(shù)據(jù)記錄的結(jié)構(gòu)。該數(shù)據(jù)結(jié)構(gòu)分明,一個(gè)樣例中包含一組特征Features,一個(gè)Features又包含多個(gè)特征向量feature。其在讀取的時(shí)候主要使用tf.TFRecoderReader的方法構(gòu)建Reader,在使用read的方法讀出元組。接著對(duì)元組中的value采用tf.parse_single_example()方法進(jìn)行解析。再解析的時(shí)候需要傳入features參數(shù),該參數(shù)要和構(gòu)造該文件時(shí)輸入的字典型變量保持一致(key,value)。key和輸入的key一致,value是一個(gè)表示該key對(duì)應(yīng)的維度和類型的定西,用tf.FixedLenFeature函數(shù)構(gòu)造,該函數(shù)傳入?yún)?shù)表示特征形狀和特征值的類型。具體如下:

自由格式是指用戶自定義的二進(jìn)制文件,他存儲(chǔ)的對(duì)象是字符串,每條記錄都是一個(gè)固定長(zhǎng)度的字節(jié)塊。再讀入的時(shí)候首先要使用tf.FixedLengthRecoderReader的方法讀取對(duì)應(yīng)的二進(jìn)制文件,然后使用tf.decode_raw的方法將字符串轉(zhuǎn)化為uint8類型的張量。

八、整體代碼

具體的相關(guān)碼如下:

以上這篇tensorflow之并行讀入數(shù)據(jù)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實(shí)現(xiàn)解析yaml配置文件的示例詳解

    Python實(shí)現(xiàn)解析yaml配置文件的示例詳解

    在開(kāi)發(fā)過(guò)程中,配置文件是少不了的,而且配置文件是有專門的格式的,比如:ini,yaml,toml等等。本文帶大家來(lái)看看Python如何解析yaml文件,它的表達(dá)能力相比?ini?更加的強(qiáng)大,需要的可以參考一下
    2022-09-09
  • python命令行模式的用法及流程

    python命令行模式的用法及流程

    在本篇文章里小編給大家整理的是一篇關(guān)于python命令行模式的用法及流程相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-09-09
  • python實(shí)現(xiàn)將列表中各個(gè)值快速賦值給多個(gè)變量

    python實(shí)現(xiàn)將列表中各個(gè)值快速賦值給多個(gè)變量

    這篇文章主要介紹了python實(shí)現(xiàn)將列表中各個(gè)值快速賦值給多個(gè)變量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 如何查看python中安裝庫(kù)的文件位置

    如何查看python中安裝庫(kù)的文件位置

    這篇文章主要介紹了查看python中安裝庫(kù)的文件位置的方法,python自帶標(biāo)準(zhǔn)庫(kù)位置在安裝環(huán)境的lib文件夾下的.py文件都是,在環(huán)境的lib文件夾中,本文給大家詳細(xì)講解需要的朋友可以參考下
    2022-11-11
  • Python KMeans聚類問(wèn)題分析

    Python KMeans聚類問(wèn)題分析

    這篇文章主要為大家詳細(xì)介紹了Python KMeans聚類問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python selenium模擬手動(dòng)操作實(shí)現(xiàn)無(wú)人值守刷積分功能

    Python selenium模擬手動(dòng)操作實(shí)現(xiàn)無(wú)人值守刷積分功能

    這篇文章主要介紹了Python selenium模擬手動(dòng)操作達(dá)到無(wú)人值守刷積分目的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python編程源碼報(bào)錯(cuò)解決方法總結(jié)經(jīng)驗(yàn)分享

    Python編程源碼報(bào)錯(cuò)解決方法總結(jié)經(jīng)驗(yàn)分享

    這篇文章主要介紹了在平時(shí)Python編程工作中一些源碼報(bào)錯(cuò)的解決方法總結(jié)經(jīng)驗(yàn)分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • python TCP包注入方式

    python TCP包注入方式

    這篇文章主要介紹了python TCP包注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • 詳解如何修改python中字典的鍵和值

    詳解如何修改python中字典的鍵和值

    這篇文章主要介紹了詳解如何修改python中字典的鍵和值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python多行輸入程序?qū)嵗a及擴(kuò)展

    Python多行輸入程序?qū)嵗a及擴(kuò)展

    我們都知道Python內(nèi)置方法input只能輸入一行內(nèi)容,我們今天來(lái)實(shí)現(xiàn)輸入多行文本功能,這篇文章主要給大家介紹了關(guān)于Python多行輸入程序的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評(píng)論

普定县| 宜春市| 莱阳市| 微山县| 亚东县| 凤阳县| 镶黄旗| 增城市| 凤山市| 江安县| 巴彦淖尔市| 汽车| 长泰县| 德兴市| 吐鲁番市| 龙陵县| 威远县| 方山县| 清流县| 策勒县| 沁源县| 进贤县| 育儿| 蕉岭县| 隆子县| 卢氏县| 莎车县| 镇巴县| 南靖县| 余江县| 玛多县| 屏南县| 上栗县| 花莲市| 阜新| 吉首市| 应城市| 漯河市| 宁南县| 东兰县| 晋宁县|