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更適用於嵌入式框架。 |
上一篇:
下一篇:
PyTorch安裝