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

tensorflow使用range_input_producer多線程讀取數(shù)據(jù)實(shí)例

 更新時(shí)間:2020年01月20日 16:27:58   作者:lyg5623  
今天小編就為大家分享一篇tensorflow使用range_input_producer多線程讀取數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

先放關(guān)鍵代碼:

i = tf.train.range_input_producer(NUM_EXPOCHES, num_epochs=1, shuffle=False).dequeue()
inputs = tf.slice(array, [i * BATCH_SIZE], [BATCH_SIZE])

原理解析:

第一行會(huì)產(chǎn)生一個(gè)隊(duì)列,隊(duì)列包含0到NUM_EXPOCHES-1的元素,如果num_epochs有指定,則每個(gè)元素只產(chǎn)生num_epochs次,否則循環(huán)產(chǎn)生。shuffle指定是否打亂順序,這里shuffle=False表示隊(duì)列的元素是按0到NUM_EXPOCHES-1的順序存儲(chǔ)。在Graph運(yùn)行的時(shí)候,每個(gè)線程從隊(duì)列取出元素,假設(shè)值為i,然后按照第二行代碼切出array的一小段數(shù)據(jù)作為一個(gè)batch。例如NUM_EXPOCHES=3,如果num_epochs=2,則隊(duì)列的內(nèi)容是這樣子;

0,1,2,0,1,2

隊(duì)列只有6個(gè)元素,這樣在訓(xùn)練的時(shí)候只能產(chǎn)生6個(gè)batch,迭代6次以后訓(xùn)練就結(jié)束。

如果num_epochs不指定,則隊(duì)列內(nèi)容是這樣子:

0,1,2,0,1,2,0,1,2,0,1,2...

隊(duì)列可以一直生成元素,訓(xùn)練的時(shí)候可以產(chǎn)生無(wú)限的batch,需要自己控制什么時(shí)候停止訓(xùn)練。

下面是完整的演示代碼。

數(shù)據(jù)文件test.txt內(nèi)容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

main.py內(nèi)容:

import tensorflow as tf
import codecs
 
BATCH_SIZE = 6
NUM_EXPOCHES = 5
 
 
def input_producer():
 array = codecs.open("test.txt").readlines()
	array = map(lambda line: line.strip(), array)
 i = tf.train.range_input_producer(NUM_EXPOCHES, num_epochs=1, shuffle=False).dequeue()
 inputs = tf.slice(array, [i * BATCH_SIZE], [BATCH_SIZE])
 return inputs
 
 
class Inputs(object):
 def __init__(self):
  self.inputs = input_producer()
 
 
def main(*args, **kwargs):
 inputs = Inputs()
 init = tf.group(tf.initialize_all_variables(),
     tf.initialize_local_variables())
 sess = tf.Session()
 coord = tf.train.Coordinator()
 threads = tf.train.start_queue_runners(sess=sess, coord=coord)
 sess.run(init)
 try:
  index = 0
  while not coord.should_stop() and index<10:
   datalines = sess.run(inputs.inputs)
   index += 1
   print("step: %d, batch data: %s" % (index, str(datalines)))
 except tf.errors.OutOfRangeError:
  print("Done traing:-------Epoch limit reached")
 except KeyboardInterrupt:
  print("keyboard interrput detected, stop training")
 finally:
  coord.request_stop()
 coord.join(threads)
 sess.close()
 del sess
	
if __name__ == "__main__":
 main()

輸出:

step: 1, batch data: ['1' '2' '3' '4' '5' '6']
step: 2, batch data: ['7' '8' '9' '10' '11' '12']
step: 3, batch data: ['13' '14' '15' '16' '17' '18']
step: 4, batch data: ['19' '20' '21' '22' '23' '24']
step: 5, batch data: ['25' '26' '27' '28' '29' '30']
Done traing:-------Epoch limit reached

如果range_input_producer去掉參數(shù)num_epochs=1,則輸出:

step: 1, batch data: ['1' '2' '3' '4' '5' '6']
step: 2, batch data: ['7' '8' '9' '10' '11' '12']
step: 3, batch data: ['13' '14' '15' '16' '17' '18']
step: 4, batch data: ['19' '20' '21' '22' '23' '24']
step: 5, batch data: ['25' '26' '27' '28' '29' '30']
step: 6, batch data: ['1' '2' '3' '4' '5' '6']
step: 7, batch data: ['7' '8' '9' '10' '11' '12']
step: 8, batch data: ['13' '14' '15' '16' '17' '18']
step: 9, batch data: ['19' '20' '21' '22' '23' '24']
step: 10, batch data: ['25' '26' '27' '28' '29' '30']

有一點(diǎn)需要注意,文件總共有35條數(shù)據(jù),BATCH_SIZE = 6表示每個(gè)batch包含6條數(shù)據(jù),NUM_EXPOCHES = 5表示產(chǎn)生5個(gè)batch,如果NUM_EXPOCHES =6,則總共需要36條數(shù)據(jù),就會(huì)報(bào)如下錯(cuò)誤:

InvalidArgumentError (see above for traceback): Expected size[0] in [0, 5], but got 6
 [[Node: Slice = Slice[Index=DT_INT32, T=DT_STRING, _device="/job:localhost/replica:0/task:0/cpu:0"](Slice/input, Slice/begin/_5, Slice/size)]]

錯(cuò)誤信息的意思是35/BATCH_SIZE=5,即NUM_EXPOCHES 的取值能只能在0到5之間。

以上這篇tensorflow使用range_input_producer多線程讀取數(shù)據(jù)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mac在python3環(huán)境下安裝virtualwrapper遇到的問(wèn)題及解決方法

    Mac在python3環(huán)境下安裝virtualwrapper遇到的問(wèn)題及解決方法

    這篇文章主要介紹了Mac在python3環(huán)境下安裝virtualwrapper遇到的問(wèn)題及解決方法,我在使用mac安裝virtualwrapper的時(shí)候遇到了問(wèn)題,搞了好長(zhǎng)時(shí)間,,在這里總結(jié)一下分享出來(lái),供遇到相同的問(wèn)題的朋友使用,少走些彎路,需要的朋友可以參考下
    2019-07-07
  • Python文件簡(jiǎn)單操作及openpyxl操作excel文件詳解

    Python文件簡(jiǎn)單操作及openpyxl操作excel文件詳解

    這篇文章主要為大家詳細(xì)介紹了python對(duì)文件的簡(jiǎn)單使用及openpyxl操作excel文件的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-10-10
  • Python批量合并365個(gè)工作表

    Python批量合并365個(gè)工作表

    這篇文章主要為大家詳細(xì)介紹了Python批量合并365個(gè)工作表的2種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • python中解析命令行參數(shù)的示例詳解

    python中解析命令行參數(shù)的示例詳解

    這篇文章主要為大家詳細(xì)介紹了python中命令行參數(shù)的解析,并做一個(gè)命令行程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-11-11
  • Python之列表實(shí)現(xiàn)棧的工作功能

    Python之列表實(shí)現(xiàn)棧的工作功能

    今天小編就為大家分享一篇關(guān)于Python之列表實(shí)現(xiàn)棧的工作功能,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)圖像精靈下篇

    Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)圖像精靈下篇

    相信大多數(shù)8090后都玩過(guò)太空射擊游戲,在過(guò)去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來(lái)自己動(dòng)手實(shí)現(xiàn)它,在編寫(xiě)學(xué)習(xí)中回顧過(guò)往展望未來(lái),下面開(kāi)始入門(mén)篇
    2022-08-08
  • python 把數(shù)據(jù) json格式輸出的實(shí)例代碼

    python 把數(shù)據(jù) json格式輸出的實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇python 把數(shù)據(jù) json格式輸出的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • Python 函數(shù)的遞歸詳解

    Python 函數(shù)的遞歸詳解

    這篇文章主要為大家介紹了Python 函數(shù)的遞歸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python logging日志模塊的詳解

    python logging日志模塊的詳解

    這篇文章主要介紹了python logging日志模塊的詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • Python網(wǎng)絡(luò)編程之Socket和HTTP協(xié)議詳解

    Python網(wǎng)絡(luò)編程之Socket和HTTP協(xié)議詳解

    在當(dāng)今互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)編程是程序員不可或缺的一項(xiàng)技能,本文將介紹Python中兩種主要的網(wǎng)絡(luò)編程方式:Socket編程和基于HTTP協(xié)議的網(wǎng)絡(luò)編程,希望對(duì)大家有所幫助
    2024-04-04

最新評(píng)論

明星| 剑阁县| 滕州市| 宜兰县| 新郑市| 建瓯市| 寿阳县| 施秉县| 方山县| 彭泽县| 遵义县| 灵台县| 南开区| 大同县| 涡阳县| 楚雄市| 和硕县| 手游| 桓台县| 宁津县| 贵港市| 黔东| 包头市| 高尔夫| 五指山市| 隆尧县| 新闻| 特克斯县| 保亭| 昌图县| 边坝县| 泰安市| 疏附县| 邵东县| 三台县| 莫力| 莱西市| 巴彦淖尔市| 栖霞市| 石首市| 交城县|