PyTorch
Meta AI (now governed by the PyTorch Foundation, Linux Foundation) · 程式設計
PyTorch 是一套免費、開源的 Python 機器學習函式庫,讓開發者以 GPU 加速建立、訓練與部署深度學習模型。

關於 PyTorch
什麼是 PyTorch
PyTorch 是一套為 Python 打造的開源機器學習函式庫,幾乎所有研究人員與資料科學家要從零訓練神經網路時,第一個想到的都是它。它提供張量(可在 GPU 上執行的多維陣列)與自動微分,正是這套引擎讓訓練深度學習模型不必手寫梯度運算。
這套函式庫 2017 年從 Meta AI 誕生,如今隸屬 Linux Foundation 旗下的 PyTorch Foundation。這件事對在意專案能否長久發展的人很重要。沒有任何單一公司掌控發展藍圖,專案也持續吸引來自大學、新創與大型科技公司的貢獻者。你下載套件、用 pip 或 conda 安裝,程式碼就是你的。
那到底誰適合試試看?任何熟悉 Python、想訓練模型而不是點著精靈一步步走的人。
最大的門檻是學習曲線。PyTorch 假定你熟悉 Python 與基礎數學,如果你從沒碰過張量,頭幾個小時會很吃力。它也不是點擊式工具,所以想不寫程式就訓練模型的人,得另尋他處。
開始使用
- 在電腦上安裝 Python 3.9 或更新版本,接著建立虛擬環境。
- 到官方 Get Started 頁面選擇你的運算平台(NVIDIA GPU 用 CUDA、AMD 用 ROCm,或純 CPU)。
- 執行頁面產生的 pip 或 conda 安裝指令,把 PyTorch 加進你的環境。
- 在 Python 腳本中匯入函式庫、建立一個張量,並用簡短的裝置檢查確認它已放到 GPU 上。
- 照官方教學做出你的第一個神經網路,再換成你自己的資料。
產品資訊
快速了解 PyTorch 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- 機器學習研究人員:PyTorch 是發表新模型架構的實質標準,幾乎每篇近期論文都找得到參考程式碼。你需要 Python 功力,以及一張 GPU 來做認真的訓練。
- 轉進深度學習的資料科學家:如果你已熟悉 NumPy 與 pandas,張量 API 會讓你覺得親切。沒有相容 GPU 的話,先從 CPU 版開始。
- 學生與自學者:免費教學與龐大社群讓它成為實際可行的第一個深度學習框架。請預期要花真功夫弄懂程式碼背後的數學。
任務
- 訓練神經網路:從小型影像分類器到大型語言模型都能打造,梯度運算交給自動微分。
- 研究原型開發:運算圖隨程式執行逐步建構,你能即時修改模型結構。這種彈性正是它稱霸學術圈的原因。
- 把模型推向生產環境:匯出訓練好的模型並透過 TorchServe 提供服務,或轉換後部署到行動裝置與邊緣裝置。
- 微調預訓練模型:從 Hugging Face 或 torchvision 取得權重,套用到自己的資料集,不必從頭訓練。
情境
- 研究生凌晨兩點重現論文:快速迭代比打磨細節更重要,PyTorch 的除錯流程正好合這個節奏。
- 小團隊打造推薦模型:Apache 2.0 授權代表零費用、也不被供應商綁死。
- 工程師在筆電上驗證想法、之後才租雲端 GPU:同一份程式碼在 CPU 與 GPU 上都能跑,不用改寫。
主要功能
具 GPU 加速的張量運算
張量是 PyTorch 的核心資料結構。想像成 NumPy 陣列,但能在 GPU 上執行。呼叫一個方法就能把張量搬到 CUDA 裝置,原本在筆電上算數字的程式碼,不必改寫就能擴展到多 GPU 伺服器。正是這段落差,讓訓練大型模型從理論變成可行。沒有 GPU?CPU 路徑照樣能跑。要擴充也行。無論是在小樣本上驗證結果,還是跑一整輪訓練,同一份與裝置無關的程式碼都能陪你走完,這也是團隊出貨第一個模型後就留下來的一大原因。
隨執行逐步建構的運算圖
PyTorch 在程式執行時建構運算圖,所以你能在模型裡使用 Python 一般的控制流程。迴圈、條件判斷與 print 都能在正向傳遞途中運作。除錯起來就像在除錯純 Python。想改模型形狀?改程式碼就好。沒有任何運算圖需要從頭重寫。
自動微分
autograd 引擎會追蹤張量上的每個運算,並替你算出梯度。你定義正向傳遞,你呼叫反向傳遞,微積分交給函式庫自己處理。這個功能移除了手動實作神經網路時最容易出錯的部分,也是新手能在一個下午訓練出可用模型的一大原因。
豐富的配套函式庫
PyTorch 隨附處理影像的 torchvision、處理聲音的 torchaudio,以及處理語言資料的 torchtext。官方套件之外,Hugging Face Transformers 與 PyTorch Lightning 等專案都直接建構在其上。所以你很少從零起步。光預訓練模型庫就能替團隊省下數週訓練時間。
TorchScript 與生產部署
TorchScript 讓你將模型轉成不需要 Python 解譯器就能執行的形式。何必這麼做?為了可預期的效能。搭配 TorchServe 提供服務,你就能從研究筆記一路走到線上端點,全程不離開這個框架。
分散式訓練
跨多張 GPU 或多台機器的訓練透過 torch.distributed 與 DistributedDataParallel 等工具內建其中。只要少量程式碼改動,就能把模型或資料集分散到各裝置。這讓沒有專屬叢集的團隊也能駕馭大型訓練工作。
跨平台匯出
把訓練好的模型匯出為 ONNX,或用 ExecuTorch 鎖定行動與嵌入式裝置。這代表你在 Linux 工作站訓練的模型,最終能跑在手機或微控制器上。如果你的產品要交到真實使用者手上,這點很重要。
優缺點
優點
- 以寬鬆授權免費開源。沒有付費層級,也沒用量上限。
- 以 Python 為先的設計讓程式碼讀起來就像普通 Python,縮短除錯循環。
- 由 PyTorch Foundation 與龐大社群撐腰,半夜卡在頑固錯誤時,教學與解答都容易找到。
- 對 GPU 加速與多裝置分散式訓練支援扎實。
- 與研究圈深度整合,多數新模型都有參考實作。
缺點
- 若你不熟 Python 或線性代數,學習曲線很陡。沒有拖放式介面。
- GPU 訓練需要相容硬體,一張像樣的 NVIDIA 顯卡所費不貲。
- 版本更新偶爾改動 API,舊教學程式碼有時會壞掉,得自己修補。
- 配套函式庫數量龐大,只想找一條清楚起跑線的新手容易被淹沒。
常見問題
可以。PyTorch 開源且免費,以寬鬆授權釋出,沒有付費方案或用量限制。你只需為選擇用來執行它的硬體或雲端算力付費。
相關內容
探索與 PyTorch 相關的工具、技能與文章。
PyTorch 替代方案
VibeDefend by CybeDefend
CybeDefend · 程式設計 · 生產力VibeDefend 用一行指令把商業規則與安全規則帶進 Claude Code、Cursor、Windsurf、Copilot 與 Codex,攔下有風險的操作,並在提交前掃描每一份差異。
OpenScience
Synthetic Sciences · 程式設計 · 生產力OpenScience 是 Synthetic Sciences 開發的開源 AI 研究工作台。它會讀論文、撰寫並執行程式碼、查詢科學資料庫,並把每項結果的依據留在同一個專案裡。
Antideploy
Antideploy · 程式設計 · 生產力Antideploy 是為程式代理打造的部署平台:貼上一句話、核准一次,專案就會在 HTTPS 網址上線,並附帶 Postgres、儲存空間、電子郵件與日誌。
