虛擬存儲涉及到的相關基礎知識總結 1
738
2025-04-02
2.1.3 TensorFlow架構:當你執行客戶端時發生了什么
我們知道TensorFlow非常善于創建一個包含所有依賴關系和操作的計算圖,它可以確切地知道數據是如何及什么時候在哪里流轉。但是,應該有一個元素可以有效執行定義好的計算圖,使TensorFlow變得更好,這個元素就是會話。現在讓我們來看看會話的內部,了解圖的執行方式。
首先,TensorFlow客戶端包含圖和會話。創建會話時,它會將計算圖作為tf.GraphDef協議緩沖區發送到分布式主服務器,tf.GraphDef是圖的標準化表示。分布式主服務器查看圖中的所有計算,并將計算切割后分配給不同的設備(例如,不同的GPU和CPU)。我們的sigmoid示例中的圖如圖2.1所示,圖的單個元素稱為節點。
接下來,計算圖將由分布式主服務器分解為子圖,并進一步分解為更小的任務。雖然在我們的例子中分解計算圖似乎很微不足道,但在實際應用中,有多層隱藏層的神經網絡解決方案的計算圖可能是指數級增長的。此外,將計算圖分解為多個部分來并行執行(例如,多個設備)變得越來越重要。執行圖(或由這個圖劃分的子圖)稱為單個任務,任務會分配給單個TensorFlow服務器。
但是,實際上,每個任務都會分解為兩個部分來執行,其中每個部分由一個worker執行:
一個worker使用參數的當前值執行TensorFlow操作(稱為操作執行器)
另一個worker存儲參數并在執行操作后更新它們的值(稱為參數服務器)
TensorFlow客戶端的常規工作流程如圖2.2所示。
圖2.2 TensorFlow客戶端的執行過程
圖2.3展示了圖的分解過程。除了將圖分解以外,TensorFlow還插入發送和接收節點,以幫助參數服務器和操作執行器相互通信。你可以把發送節點理解為一旦數據可用時發送數據,而接受節點在相應的發送節點發送數據時偵聽和捕獲數據。
最后,一旦計算完成,會話就會將更新的數據從參數服務器帶回客戶端。TensorFlow的體系結構如圖2.4所示,這一解釋基于https://www.tensorf?low.org/extend/architecture上的官方TensorFlow文檔。
圖2.3 TensorFlow圖分解過程
圖2.4 TensorFlow的體系結構
TensorFlow 自然語言處理基礎
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。