您好,登錄后才能下訂單哦!
這篇文章主要講解了“TensorFlow靜態圖和eager機制是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“TensorFlow靜態圖和eager機制是什么”吧!
在eager問世之前,TensorFlow一直采用的是靜態圖機制,其實直到現在TensorFlow的靜態圖依然大行其道。本文就來介紹一下TensorFlow的靜態圖機制。
何為靜態圖/動態圖?
靜態圖是指在圖構建之后,模型運行時無法進行修改。這里的“圖”也就是模型的意思,一般一個圖就是一個模型。這個圖建好之后,運行前需要freeze,然后進行一些優化,例如圖融合等,最后啟動session根據之前構建的靜態圖進行計算,計算過程無法對靜態圖進行更改。
動態圖和靜態圖對應,在模型運行過程中可以對圖進行修改。熟悉PyTorch的朋友應該了解,因為PyTorch采用的就是動態圖機制。不過一般情況,模型運行過程中也不需要對其進行修改。
另外,TensorFlow靜態圖帶來的一個弊端就是難Debug。因為靜態圖在freeze后運行前會進行圖優化,一些operation會被融合,所以有的operation會消失,無法在計算階段提供斷點和單步調試功能(圖構建階段能單步調試,但是只顯示tensor,用處不大)。當然,斷點和單步調試功能也會影響程序運行的效率。而PyTorch采用了動態圖,自然有Debug方面的優勢,提供了單步調試的功能,可以在計算過程查看所有tensor的值,非常直觀方便。
所以,目前在學術界,PyTorch的使用很廣泛;而在工程界,TensorFlow由于部署有優勢,加上operation全面,生態良好而更受歡迎。對于個人而言,往往要看所選擇的應用在業界開源代碼是基于哪種框架,在別人開源代碼的基礎上來構建自己的應用,所有兩者都需要有一定的快速上手能力。
OK,希望上面把TensorFlow的靜態圖機制說清楚了,有不清楚的地方歡迎留言或者聯系我,我會持續更新。后面我會增加代碼說明,方便理解,敬請關注~
感謝各位的閱讀,以上就是“TensorFlow靜態圖和eager機制是什么”的內容了,經過本文的學習后,相信大家對TensorFlow靜態圖和eager機制是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。