- PyTorch 教程
- PyTorch - 首頁
- PyTorch - 簡介
- PyTorch - 安裝
- 神經網路的數學基礎
- PyTorch - 神經網路基礎
- 機器學習通用工作流程
- 機器學習與深度學習
- 實現第一個神經網路
- 神經網路到功能模組
- PyTorch - 術語
- PyTorch - 載入資料
- PyTorch - 線性迴歸
- PyTorch - 卷積神經網路
- PyTorch - 迴圈神經網路
- PyTorch - 資料集
- PyTorch - 卷積網路簡介
- 從頭開始訓練卷積網路
- PyTorch - 卷積網路中的特徵提取
- PyTorch - 卷積網路的視覺化
- 使用卷積網路進行序列處理
- PyTorch - 詞嵌入
- PyTorch - 遞迴神經網路
- PyTorch 有用資源
- PyTorch - 快速指南
- PyTorch - 有用資源
- PyTorch - 討論
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 更適合嵌入式框架。 |