PyTorch簡介


PyTorch是一個Python的開源機器學習庫。它用於自然語言處理等應用程式。它最初由Facebook人工智慧研究小組開發,而優步的Pyro軟體則用於概率程式設計。

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

PyTorch在Python中重新設計和實現Torch,同時為後端程式碼共用相同的核心C庫。PyTorch開發人員調整了這個後端程式碼,以便有效地執行Python。他們還保留了基於GPU的硬體加速以及基於Lua的Torch的可延伸性功能。

PyTorch功能特徵

PyTorch的主要功能如下所述 -

簡單的介面 - PyTorch提供易於使用的API; 因此,它在Python上執行,操作非常簡單。這個框架中的程式碼執行非常簡單。

Python用法 - PyTorch庫認為是Pythonic,可以與Python資料科學堆疊平滑地整合。因此,它可以利用Python環境提供的所有服務和功能。

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

PyTorch以三個抽象級別而聞名,如下所示 -

  • Tensor - 在GPU上執行命令式n維陣列。
  • 變數 - 計算圖中的節點,它儲存資料和梯度。
  • 模組 - 儲存狀態或可學習權重的神經網路層。

PyTorch的優點

以下是PyTorch的優點 -

  • 它易於偵錯和理解程式碼。
  • 它包括許多層作為Torch。
  • 它包括許多損失函式。
  • 它可以視為對GPU的NumPy擴充套件。
  • 它允許構建其結構依賴於計算本身的網路。

TensorFlow與PyTorch比較

下面是TensorFlow和PyTorch之間的主要區別 -

PyTorch TensorFlow
PyTorch與基於lua的Torch框架密切相關,該框架在Facebook中廣泛使用。 TensorFlow由Google Brain開發,並在Google上積極使用。
與其他競爭技術相比,PyTorch相對較新。 TensorFlow並不是新的,但許多研究人員和行業專業人士視為一種前沿工具。
PyTorch以強制性和動態的方式包含所有內容。 TensorFlow包含靜態和動態圖形作為組合。
PyTorch中的計算圖是在執行時定義的。 TensorFlow不包含任何執行時選項。
PyTorch包括針對移動和嵌入式框架的部署。 TensorFlow更適用於嵌入式框架。