Neural-Networks
深度學習庫中的動態圖與靜態圖
深度學習庫中的動態圖和靜態圖有什麼區別?
哪個更快?
以及何時使用它們中的每一個?
深度學習庫中的動態圖和靜態圖有什麼區別?
對於靜態圖,您應該首先完整地繪製圖形,然後注入數據以運行(定義並運行),而使用動態圖,圖形結構是通過實際的前向計算動態定義的。這是一種更自然的編程風格(define-by-run)。
哪個更快?以及何時使用它們中的每一個?
當您可以將計算分佈在多台機器上時,最好利用靜態圖。能夠使用動態計算圖來做到這一點將有更大的問題。
其他一些比較:
擁有靜態圖可以進行很多方便的操作:存儲固定的圖數據結構,運送獨立於代碼的模型,執行圖轉換,但它比動態圖稍微複雜一些(例如在實現時)類似於遞歸神經網絡)。當您使用新架構時,您希望獲得最大的靈活性,而這些框架允許這樣做。
這個答案是從底部的參考資料中收集的,希望我的結論是正確的,並且可以提供幫助。