2017-05-23 14 views
1

E.g. QueueBase.dequeue函數可能會引起一個OutOfRangeError異常,我將從Session.run調用中收到Python中的異常。有什麼方法可以捕捉圖表中的異常,類似於tf.cond?例如。是這樣的:動態捕捉TensorFlow中的異常作爲圖執行的一部分

result = tf.on_exception(queue.dequeue(), lambda: 42) 

也許也是第一個參數將需要一個lambda,使得它可以正確設置背景。 爲了完成這個工作,就像在tf.cond中那樣,兩個參數的結果都需要是相同的類型。

+0

請注意,任何感興趣的人都可以在此處進行更長時間的討論:https://github.com/tensorflow/tensorflow/issues/10332 –

回答

0

不,據我所知,沒有辦法處理圖中的異常,異常處理是在python中完成的。此外,隊列運行器無論如何都運行在與主圖執行分離的線程中。

+0

但是,「出列」可能不在隊列中,而是在主運算中。我打開了一個[上游功能請求](https://github.com/tensorflow/tensorflow/issues/10332)。 – Albert