PyTorch - 簡介



PyTorch 被定義為一個用於 Python 的開源機器學習庫。它用於自然語言處理等應用。它最初由 Facebook 人工智慧研究小組開發,以及基於它的 Uber 的 Pyro 機率程式設計軟體。

最初,PyTorch 由 Hugh Perkins 開發,作為基於 Torch 框架的 LusJIT 的 Python 包裝器。PyTorch 有兩個變體。

PyTorch 在 Python 中重新設計並實現了 Torch,同時共享相同的核心 C 庫作為後端程式碼。PyTorch 開發人員調整了這個後端程式碼以高效地執行 Python。他們還保留了基於 GPU 的硬體加速以及使基於 Lua 的 Torch 成為可能的擴充套件功能。

特性

PyTorch 的主要特性如下所述:

簡單的介面 - PyTorch 提供易於使用的 API;因此,它被認為非常簡單易用,並且可以在 Python 上執行。此框架中的程式碼執行非常簡單。

Python 使用 - 此庫被認為是 Pythonic 的,可以與 Python 資料科學棧無縫整合。因此,它可以利用 Python 環境提供的所有服務和功能。

計算圖 - PyTorch 提供了一個優秀的平臺,它提供了動態計算圖。因此,使用者可以在執行時更改它們。當開發人員不知道建立神經網路模型需要多少記憶體時,這非常有用。

PyTorch 以擁有如下三個抽象級別而聞名:

  • 張量 - 在 GPU 上執行的命令式 n 維陣列。

  • 變數 - 計算圖中的節點。它儲存資料和梯度。

  • 模組 - 神經網路層,它將儲存狀態或可學習的權重。

PyTorch 的優勢

以下是 PyTorch 的優勢:

  • 易於除錯和理解程式碼。

  • 它包含 Torch 中的許多層。

  • 它包含許多損失函式。

  • 它可以被視為 NumPy 對 GPU 的擴充套件。

  • 它允許構建其結構依賴於計算本身的網路。

TensorFlow 與 PyTorch

我們將在下面探討 TensorFlow 和 PyTorch 之間的主要區別:

PyTorch TensorFlow

PyTorch 與 Facebook 積極使用的基於 Lua 的 Torch 框架密切相關。

TensorFlow 由 Google Brain 開發,並在 Google 積極使用。

與其他競爭技術相比,PyTorch 比較新。

TensorFlow 並不新,被許多研究人員和行業專業人士視為首選工具。

PyTorch 以命令式和動態的方式包含所有內容。

TensorFlow 將靜態和動態圖結合在一起。

PyTorch 中的計算圖在執行時定義。

TensorFlow 不包含任何執行時選項。

PyTorch 包含用於移動和嵌入式框架的部署功能。

TensorFlow 更適合嵌入式框架。

廣告

© . All rights reserved.