你可以調用sess.runs
z或可以調用z.eval
在默認會話的上下文中評估z。 z.eval
只是一個快速的方式,而你經常會在代碼中看到它。這跟默認對談上調用run
相同。
雖然你可以調用session.run
並傳遞單個答案,但也可以傳遞張量列表進行求值。TensorFlow將自己找出需要求值圖形的哪些部分並進行求值。
對於每個輸入張量,輸出中都有一個對應的numPy陣列。由於我們傳入了z和z3,因此你回到了我稱為a1和a3的numPy數組。注意,此代碼還顯示你無需寫出tf.Add(x, y)
。你可以簡單地說x加y,因為常見的算術運算會重載它們。我在前面簡要提到了tf.eager
。
通常,TensorFlow程序使用惰性評估,這就是我們在編寫生產代碼時所建議的。但是,在進行開發或是在調試時,有時可以選擇立即執行代碼而不是惰性地執行代碼。所以在這裡會展示如何使用tf.eager
。
你可以導入eager並啟用eager執行。但是請確保只執行一次。通常,你會在開頭執行這項操作。所以在這裡,我創造兩個張量x和y,並顯示出x減去y。如果我們不是一個急切的模式,將會顯示出什麼?只是張量的調試輸出。這本可以包括為節點和Dagg及其形狀分配唯一名稱的系統,以及在運行daggers時將顯示的值的數據類型。但是因為我們處於急切模式,所以我們不必等待對談運行即可獲得減法的實際結果。這就是為什麼當我做x減y時會看到列表2、3、4。