Tensorflow 多執行緒資料處理框架

2021-08-15 03:48:41 字數 496 閱讀 1520

一、佇列與多執行緒

佇列是多執行緒資料處理框架的基礎,修改佇列狀態的主要操作有enqueue、enqueuemany和dequeue

以下程式展示了fifoqueue佇列的基本操作:

import tensorflow as tf 

#建立乙個先進先出的佇列,指定佇列中最多儲存兩個元素,並指定型別為整型

q = tf.fifoqueue(2,"int32")

init = q.enqueue_many(([0,10],))

x = q.dequeue()

y = x + 1

q_inc = q.enqueue([y])

with tf.session() as sess:

init.run()

for _ in range(5):

v,_=sess.run([x,q_inc])

print(v)

tensorflow多執行緒預讀取資料

在一般的講解中,tensorflow使用多執行緒讀取資料都會涉及到兩個概念,檔名佇列和檔案佇列。將原本簡單的概念繞的很複雜,而且不同的部落格還相互抄,毫無自己的理解。其實檔名佇列完全沒有必要,只要執行緒能將資料預讀取到檔案佇列,其他的處理咋弄都行。下面是我想到的用法 import tensorflo...

Tensorflow使用多執行緒

tensorflow的session物件支援多執行緒,可以在同乙個session中建立多個執行緒,預設是cpu有多少個核,就啟動多少個執行緒。tensorflow提供了倆個類來實現對session中多執行緒的管理 tf.coordinator和tf.queuerunner,這倆個類必須一起使用。co...

Tensorflow的佇列多執行緒讀取資料

在tensorflow中,有三種方式輸入資料 1利用feed dict送入numpy陣列 2利用佇列從檔案中直接讀取資料 3預載入資料 其中第一種方式很常用,在tensorflow的mnist訓練原始碼中可以看到,通過feed dict 可以將任意資料送入tensor中。第二種方式相比於第一種,速度...