PyTorch是一個Python的開源機器學習庫。它用於自然語言處理等應用程式。它最初由Facebook人工智慧研究小組開發,而優步的Pyro軟體則用於概率程式設計。
最初,PyTorch由Hugh Perkins開發,作為基於Torch框架的LusJIT的Python包裝器。有兩種PyTorch變種。
PyTorch在Python中重新設計和實現Torch,同時為後端程式碼共用相同的核心C庫。PyTorch開發人員調整了這個後端程式碼,以便有效地執行Python。他們還保留了基於GPU的硬體加速以及基於Lua的Torch的可延伸性功能。
PyTorch的主要功能如下所述 -
簡單的介面 - PyTorch提供易於使用的API; 因此,它在Python上執行,操作非常簡單。這個框架中的程式碼執行非常簡單。
Python用法 - PyTorch庫認為是Pythonic,可以與Python資料科學堆疊平滑地整合。因此,它可以利用Python環境提供的所有服務和功能。
計算圖 - PyTorch提供了一個提供動態計算圖的出色平台。因此,使用者可以在執行時更改它們。當開發人員不知道建立神經網路模型需要多少記憶體時,這時非常有用。
PyTorch以三個抽象級別而聞名,如下所示 -
以下是PyTorch的優點 -
下面是TensorFlow和PyTorch之間的主要區別 -
PyTorch | TensorFlow |
---|---|
PyTorch與基於lua的Torch框架密切相關,該框架在Facebook中廣泛使用。 | TensorFlow由Google Brain開發,並在Google上積極使用。 |
與其他競爭技術相比,PyTorch相對較新。 | TensorFlow並不是新的,但許多研究人員和行業專業人士視為一種前沿工具。 |
PyTorch以強制性和動態的方式包含所有內容。 | TensorFlow包含靜態和動態圖形作為組合。 |
PyTorch中的計算圖是在執行時定義的。 | TensorFlow不包含任何執行時選項。 |
PyTorch包括針對移動和嵌入式框架的部署。 | TensorFlow更適用於嵌入式框架。 |