前面幾天有提到,想要獲取 TensorFlow 進行運算後得到的結果,我們需要使用 Session.run() 來完成。
TensorFlow does lazy evaluation: you need to run the
graph to get results*
如上圖所示,我們在 Build 階段準備好各 Tensor 的設置後,然後使用 session.run() 來進行運算處裡(Run 階段)。
根據G社官方的說法,這樣的方式 lazy evaluation(惰性求值)可以因極小化電腦要進行計算的工作,達到優化運算過程的效率。
但在有些的開發情況下,例如要等到每次 Run 才知道有沒有壞掉,不好抓 Bug 的情況下,我們可以使用 Eager evaluation(熱切求值),如此一來就像我們平常寫 python 的時候,方便尋找程式中的錯誤並修復。如圖:
但 G社非常建議,在真實應用的場合(Production Phase?)應該要使用惰性求值的模式。