這是很容易使用一個不斷從隊列中把數據輸入到queue和其他消耗數據兩個線程,執行計算。 。由於TensorFlow之後1.2.0建議Dataset作爲輸入管道,我想用Dataset
及其iterator
完成任務上面,即:如何啓用數據集管道已分發的閱讀和消費
- 有兩種過程,一個飼料和其他消耗;
- 管道暫停要麼是滿或空當計算完成的消耗停止。
附:爲什麼在Threading and Queues的教程中,TensorFlow使用thread
而不是process
?
預先感謝您。
這是很容易使用一個不斷從隊列中把數據輸入到queue和其他消耗數據兩個線程,執行計算。 。由於TensorFlow之後1.2.0建議Dataset作爲輸入管道,我想用Dataset
及其iterator
完成任務上面,即:如何啓用數據集管道已分發的閱讀和消費
附:爲什麼在Threading and Queues的教程中,TensorFlow使用thread
而不是process
?
預先感謝您。
分佈式tf.contrib.data
管道還不支持爲TensorFlow 1.3。我們正在努力支持跨設備和/或流程拆分數據集,但該支持尚未準備就緒。
在此期間,要實現自己的目標的最簡單的方法是使用tf.FIFOQueue
。您可以定義一個Dataset
從隊列內容如下:
q = tf.FIFOQueue(...)
# Define a dummy dataset that contains the same value repeated indefinitely.
dummy = tf.contrib.data.Dataset.from_tensors(0).repeat(None)
dataset_from_queue = dummy.map(lambda _: q.dequeue())
然後,您可以編寫其他Dataset
tranformations與dataset_from_queue
。
何時會添加對分佈式數據集的支持? –
非常感謝您的親切回答。如果您在完成分佈式「tf.contrib.data」工作後願意更新或發佈新答案,我也將不勝感激。@ mrry – Tengerye
[這個問題](https://stackoverflow.com/questions/44132579/feed-data-into-a-tf-contrib-data-dataset-like-a-queue)是相關的,或者可能是相同的問題。 – Albert