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

Tensorflow 多線程設(shè)置方式

 更新時間:2020年02月06日 08:49:30   投稿:jingxian  
今天小編就為大家分享一篇Tensorflow 多線程設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一. 通過 ConfigProto 設(shè)置多線程

(具體參數(shù)功能及描述見 tensorflow/core/protobuf/config.proto)

在進(jìn)行 tf.ConfigProto() 初始化時,可以通過設(shè)置相應(yīng)的參數(shù),來控制每個操作符 op 并行計算的線程個數(shù)或 session 線程池的線程數(shù)。主要涉及的參數(shù)有以下三個:

1. intra_op_parallelism_threads 控制運(yùn)算符op內(nèi)部的并行
當(dāng)運(yùn)算符 op 為單一運(yùn)算符,并且內(nèi)部可以實現(xiàn)并行時,如矩陣乘法,reduce_sum 之類的操作,可以通過設(shè)置 intra_op_parallelism_threads 參數(shù)來并行。

2. inter_op_parallelism_threads 控制多個運(yùn)算符op之間的并行計算
當(dāng)有多個運(yùn)算符 op,并且他們之間比較獨(dú)立,運(yùn)算符和運(yùn)算符之間沒有直接的路徑 Path 相連。Tensorflow會嘗試并行地計算他們,使用由 inter_op_parallelism_threads 參數(shù)來控制數(shù)量的一個線程池。
在第一次創(chuàng)建會話將設(shè)置將來所有會話的線程數(shù),除非是配置了 session_inter_op_thread_pool 選項。

3. session_inter_op_thread_pool 配置會話線程池。
如果會話線程池的 num_threads 為 0,使用 inter_op_parallelism_threads 選項。

二. 通過隊列進(jìn)行數(shù)據(jù)讀取時設(shè)置多線程

(具體函數(shù)功能及描述見 tensorflow/python/training/input.py)

1. 通過以下函數(shù)進(jìn)行樣本批處理時,可以通過設(shè)置 num_threads 來設(shè)置單個 Reader 多線程讀取

1) batch(tensors, batch_size, num_threads=1, capacity=32,
enqueue_many=False, shapes=None, dynamic_pad=False,
allow_smaller_final_batch=False, shared_name=None, name=None)

2) maybe_batch(tensors, keep_input, batch_size, num_threads=1, capacity=32,
enqueue_many=False, shapes=None, dynamic_pad=False,
allow_smaller_final_batch=False, shared_name=None, name=None)

3) shuffle_batch(tensors, batch_size, capacity, min_after_dequeue,
num_threads=1, seed=None, enqueue_many=False, shapes=None,
allow_smaller_final_batch=False, shared_name=None, name=None)

4) maybe_shuffle_batch(tensors, batch_size, capacity, min_after_dequeue,
keep_input, num_threads=1, seed=None,
enqueue_many=False, shapes=None,
allow_smaller_final_batch=False, shared_name=None,
name=None)

例:

import tensorflow as tf 
 
 
filenames = ['A.csv', 'B.csv', 'C.csv'] 
# 生成一個先入先出隊列和一個 QueueRunner,生成文件名隊列 
filename_queue = tf.train.string_input_producer(filenames, shuffle=False) 
 
 
# 定義 Reader 和 Decoder
reader = tf.TextLineReader() 
key, value = reader.read(filename_queue) 
example, label = tf.decode_csv(value, record_defaults=[['null'], ['null']])
 
 
# 使用tf.train.batch() 會為 graph 添加一個樣本隊列和一個 QueueRunner。 
# 經(jīng)過 Reader 讀取文件和 Decoder 解碼后數(shù)據(jù)會進(jìn)入這個隊列,再批量出隊。
# tf.train.batch() 這里只有一個 Reader,可以設(shè)置多線程
 
example_batch, label_batch = tf.train.batch([example, label], batch_size=5) 
 
 
with tf.Session() as sess: 
  coord = tf.train.Coordinator() 
  threads = tf.train.start_queue_runners(coord=coord) 
  for i in range(10): 
    e_val,l_val = sess.run([example_batch,label_batch]) 
    print e_val,l_val 
  coord.request_stop() 
  coord.join(threads) 

2. 通過以下函數(shù)進(jìn)行樣本批處理時,可以通過設(shè)置 Decoder 和 Reader 的個數(shù)來設(shè)置多 Reader 讀取,其中每個 Reader 使用一個線程

1) batch_join(tensors_list, batch_size, capacity=32, enqueue_many=False,
shapes=None, dynamic_pad=False, allow_smaller_final_batch=False,
shared_name=None, name=None):

2) maybe_batch_join(tensors_list, keep_input, batch_size, capacity=32,
enqueue_many=False, shapes=None, dynamic_pad=False,
allow_smaller_final_batch=False, shared_name=None,
name=None)

3) shuffle_batch_join(tensors_list, batch_size, capacity,
min_after_dequeue, seed=None, enqueue_many=False,
shapes=None, allow_smaller_final_batch=False,
shared_name=None, name=None)

4) maybe_shuffle_batch_join(tensors_list, batch_size, capacity,
min_after_dequeue, keep_input, seed=None,
enqueue_many=False, shapes=None,
allow_smaller_final_batch=False, shared_name=None,
name=None)

例:

import tensorflow as tf 
 
 
filenames = ['A.csv', 'B.csv', 'C.csv'] 
# 生成一個先入先出隊列和一個 QueueRunner,生成文件名隊列
filename_queue = tf.train.string_input_producer(filenames, shuffle=False) 
 
 
# 定義 Reader
reader = tf.TextLineReader() 
key, value = reader.read(filename_queue) 
 
 
#定義了多個 Decoder, 每個 Decoder 跟一個 Reader 相連, 即有多個 Reader
example_list = [tf.decode_csv(value, record_defaults=[['null'], ['null']])
         for _ in range(2)] # Decoder 和 Reader 為 2
   
# 使用tf.train.batch_join() 會為 graph 添加一個樣本隊列和一個 QueueRunner。 
# 經(jīng)過多個 Reader 讀取文件和 Decoder 解碼后數(shù)據(jù)會進(jìn)入這個隊列,再批量出隊。   
# 使用 tf.train.batch_join(), 可以使用多個 Reader 并行讀取數(shù)據(jù)。每個 Reader 使用一個線程
example_batch, label_batch = tf.train.batch_join(example_list, batch_size=5) 
with tf.Session() as sess: 
  coord = tf.train.Coordinator() 
  threads = tf.train.start_queue_runners(coord=coord) 
  for i in range(10): 
    e_val,l_val = sess.run([example_batch,label_batch]) 
    print e_val,l_val 
  coord.request_stop() 
  coord.join(threads) 

以上這篇Tensorflow 多線程設(shè)置方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pycharm學(xué)習(xí)教程(3) 代碼運(yùn)行調(diào)試

    Pycharm學(xué)習(xí)教程(3) 代碼運(yùn)行調(diào)試

    這篇文章主要為大家詳細(xì)介紹了最全的Pycharm學(xué)習(xí)教程第三篇代碼運(yùn)行調(diào)試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • PyQt5 多窗口連接實例

    PyQt5 多窗口連接實例

    今天小編就為大家分享一篇PyQt5 多窗口連接實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python根據(jù)文章標(biāo)題內(nèi)容自動生成摘要的實例

    python根據(jù)文章標(biāo)題內(nèi)容自動生成摘要的實例

    今天小編就為大家分享一篇python根據(jù)文章標(biāo)題內(nèi)容自動生成摘要的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 解決pyttsx3無法封裝的問題

    解決pyttsx3無法封裝的問題

    今天小編就為大家分享一篇解決pyttsx3無法封裝的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 基于Python實現(xiàn)Markdown轉(zhuǎn)ePub

    基于Python實現(xiàn)Markdown轉(zhuǎn)ePub

    數(shù)字閱讀ePub格式因其良好的兼容性和閱讀體驗,已經(jīng)成為電子書的主流格式之一,而Markdown作為一種輕量級標(biāo)記語言,以其簡潔易用的特點(diǎn)深受技術(shù)寫作者喜愛,下面我們來看看如何實現(xiàn)二者之間的格式轉(zhuǎn)換吧
    2025-04-04
  • Python 添加文件注釋和函數(shù)注釋操作

    Python 添加文件注釋和函數(shù)注釋操作

    這篇文章主要介紹了Python 添加文件注釋和函數(shù)注釋操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Python中的numpy數(shù)組維度擴(kuò)展詳解

    Python中的numpy數(shù)組維度擴(kuò)展詳解

    這篇文章主要介紹了Python中的numpy數(shù)組維度擴(kuò)展詳解,在numpy數(shù)組中,切片功能非常常用,例如x[:]表示取x的所有元素,可以通過在切片中增加None或者np.newaxis實現(xiàn),它們的作用就是在相應(yīng)的位置上增加一個維度,在這個維度上只有一個元素,需要的朋友可以參考下
    2023-09-09
  • 如何修改Jupyter工作路徑(已安裝Anaconda)

    如何修改Jupyter工作路徑(已安裝Anaconda)

    這篇文章主要介紹了如何修改Jupyter工作路徑問題(已安裝Anaconda),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python 字典的使用詳解及實例代碼

    Python 字典的使用詳解及實例代碼

    今天小編幫大家簡單介紹下Python的一種數(shù)據(jù)結(jié)構(gòu): 字典,字典是 另一種可變?nèi)萜髂P?,且可存儲任意類型對象,它用于存放具有映射關(guān)系的數(shù)據(jù),通讀本篇對大家的學(xué)習(xí)或工作具有一定的價值,需要的朋友可以參考下
    2021-11-11
  • Python3數(shù)據(jù)庫操作包pymysql的操作方法

    Python3數(shù)據(jù)庫操作包pymysql的操作方法

    這篇文章主要介紹了Python3數(shù)據(jù)庫操作包pymysql的操作方法,文章通過實例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07

最新評論

洞头县| 遂溪县| 邢台县| 北辰区| 云和县| 亳州市| 云和县| 玛沁县| 卢龙县| 彝良县| 保靖县| 嫩江县| 麻阳| 溆浦县| 万安县| 时尚| 南昌县| 祥云县| 青铜峡市| 南皮县| 精河县| 和顺县| 泗阳县| 四川省| 洛浦县| 小金县| 三河市| 阿合奇县| 邹城市| 仁化县| 桂东县| 九台市| 济阳县| 阳东县| 婺源县| 梅河口市| 乌鲁木齐县| 安化县| 塔河县| 巫溪县| 新巴尔虎左旗|