1. 什麼是 PyTorch?從這篇文章可以學到什麼
PyTorch 是什麼?
PyTorch 是由 Facebook(現為 Meta)開發的開源機器學習框架。它是基於 Python 設計,語法簡潔、直觀,因此在資料科學與深度學習領域被廣泛使用。
PyTorch 提供張量運算與自動微分功能,讓神經網路的設計與訓練更加容易。此外,也支援 GPU 的高速計算,非常適合處理大型資料集與複雜模型,擁有優異的效能表現。
本篇文章能學到什麼?
這篇文章將詳細說明以下內容:
- 在安裝 PyTorch 前,該如何確認系統環境與工具是否就緒。
- 選擇 pip 還是 Anaconda?該如何做出合適的判斷。
- 實際的安裝流程與設定方法。
- 安裝時可能出現的問題與對應解決方法。
- 安裝完成後的下一步建議與推薦資源。
閱讀完本篇文章後,即使是初學者也能順利安裝 PyTorch,邁出機器學習的第一步。
適合閱讀對象
- 對深度學習有興趣,但在導入 PyTorch 時感到困惑的新手。
- 雖然熟悉 Python 基本操作,但對套件管理或環境建置不太有信心的中階使用者。
- 希望建立支援 GPU 的高速計算環境的工程師或資料科學家。
下一節將會說明安裝 PyTorch 前需要準備的系統環境與工具。請在開始安裝前,先完成相關的準備作業。
2. 安裝前的準備:必要的環境與工具
確認系統環境
在安裝 PyTorch 之前,請先確認你的系統是否符合安裝需求,並具備必要的軟體工具。這樣可以預防安裝後發生的錯誤與問題。
1. 支援的作業系統
PyTorch 可在以下作業系統上運作:
- Windows 10 以上版本
- macOS 10.15(Catalina)以上版本
- Linux(Ubuntu、CentOS 及其他主要發行版)
2. Python 的版本
PyTorch 支援 Python 3.8 以上版本。請使用以下指令確認目前使用的 Python 版本:
python --version
或在某些系統中可使用:
python3 --version
3. 確認 pip 版本
pip 是 Python 的套件管理工具。如果不是最新版本,在安裝 PyTorch 時可能會出現錯誤。可用以下指令確認:
pip --version
若需更新至最新版,可使用以下指令:
python -m pip install --upgrade pip
確認 GPU 環境(非必須)
PyTorch 支援 GPU,可大幅提升運算速度。如果想要使用 GPU,必須正確安裝與設定 CUDA 及 cuDNN。
1. 確認是否支援 CUDA 的 GPU
請使用以下指令檢查是否有可用的 GPU:
nvidia-smi
若輸出結果中顯示 GPU 資訊,表示系統已正確辨識支援 CUDA 的 GPU。
2. 確認 CUDA 與 cuDNN 的版本
PyTorch 與 CUDA 的版本需搭配使用。可至 PyTorch 官方下載頁確認相容版本。CUDA 的版本可用下列指令查詢:
nvcc --version
3. 安裝 CUDA
若尚未安裝 CUDA,可前往 NVIDIA 官方網站下載並安裝。
補充說明:如果沒有 GPU 環境
即使沒有 GPU,也可以使用 PyTorch 的 CPU 版本。對於小型專案或測試用途來說,CPU 執行環境也能應付基本需求。
建立虛擬環境(建議)
為了在不同專案中避免套件相互干擾,建議使用虛擬環境。
1. 使用 venv 建立虛擬環境
python -m venv pytorch-env
source pytorch-env/bin/activate # Linux/MacOS
pytorch-envScriptsactivate # Windows
2. 使用 Anaconda 建立虛擬環境
conda create -n pytorch-env python=3.10
conda activate pytorch-env
下一步
至此,安裝前的準備工作已經完成。下一節將會說明 PyTorch 的實際安裝方法,並介紹 pip 與 Anaconda 各自的特點與安裝流程。
3. 安裝方法比較與選擇標準
pip vs Anaconda:該選哪一個?
安裝 PyTorch 主要有 pip 與 Anaconda 兩種方式。以下將介紹它們的特點與適合的選擇情境。
1. 使用 pip 安裝
pip 是 Python 的標準套件管理工具,安裝快速且輕量。
優點:
- 安裝簡單且速度快。
- 只會安裝所需的最基本套件,體積小。
- 容易與虛擬環境(venv)搭配使用。
缺點:
- 套件間的相依關係可能需要手動處理。
- GPU 驅動與 CUDA 的相容性需自行管理。
適合情境:
- 小型腳本或簡易專案。
- 想在現有的 Python 環境中快速加入 PyTorch。
2. 使用 Anaconda 安裝
Anaconda 是專為資料科學設計的 Python 發行版,便於管理環境與相依套件。
優點:
- 虛擬環境的建立與管理簡單直覺。
- 自動處理相依套件,安裝問題少。
- 與 Jupyter Notebook 等工具整合良好。
缺點:
- 安裝檔案體積大,初次安裝時間較長。
- 對初學者來說,有些指令可能較複雜。
適合情境:
- 進行機器學習或資料分析專案。
- 對套件與環境管理不熟悉的使用者。
3. 選擇標準總結
以下表格簡要比較 pip 與 Anaconda 的選擇標準:
項目 | pip | Anaconda |
---|---|---|
安裝速度 | 快速 | 稍慢 |
相依關係管理 | 需手動管理 | 自動解決 |
對初學者的友善程度 | 簡單但設定略難 | 操作直覺,適合新手 |
虛擬環境管理 | 需使用 venv 或 virtualenv | 內建 conda 指令即可管理 |
專案規模 | 適合小型專案 | 適合大型專案 |
4. 該選哪一個?
- 想快速嘗試: 推薦使用 pip,適合快速安裝並開始開發。
- 需要完整開發環境: 推薦使用 Anaconda,更適合進行複雜或長期的專案。
下一步
了解 pip 與 Anaconda 的差異與選擇標準後,接下來我們將說明實際的安裝步驟,並透過指令教你建立 PyTorch 開發環境。
4. PyTorch 的安裝步驟(實作篇)
1. 使用 pip 安裝(最快方式)
使用 pip 安裝 PyTorch 是最簡單、最快速的方式,適合想快速開始的人。
1-1. 安裝 CPU 版
執行以下指令安裝 PyTorch:
pip install torch torchvision torchaudio
1-2. 安裝 GPU 版(支援 CUDA)
若要使用 GPU,請依照你的 CUDA 版本執行對應指令。例如使用 CUDA 11.8:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
1-3. 確認安裝是否成功
執行以下程式碼確認安裝與 CUDA 支援狀態:
import torch
print(torch.__version__) # 顯示版本
print(torch.cuda.is_available()) # 檢查 GPU 是否可用
輸出範例:
2.0.1+cu118
True
2. 使用 Anaconda 安裝(推薦方式)
Anaconda 的虛擬環境管理簡單,適合需要進行專案隔離的開發者。
2-1. 建立與啟用虛擬環境
建立名為 pytorch-env 的新環境,並指定使用 Python 3.10:
conda create -n pytorch-env python=3.10
conda activate pytorch-env
2-2. 安裝 CPU 版
使用以下指令安裝 CPU 版本:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
2-3. 安裝 GPU 版(支援 CUDA)
如果你想使用 GPU,並使用 CUDA 11.8,請執行:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
2-4. 確認安裝是否成功
執行以下程式碼確認 PyTorch 版本與 GPU 狀態:
import torch
print(torch.__version__) # 顯示版本
print(torch.cuda.is_available()) # 檢查 GPU 是否可用
輸出範例:
2.0.1+cu118
True
5. CUDA 與 cuDNN 的設定(使用 GPU 時)
本節將詳細說明,如何設定 CUDA 與 cuDNN 來讓 PyTorch 利用 GPU 進行高速運算。透過 GPU 可以大幅提升模型訓練與推論的效率。
1. 什麼是 CUDA?
CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的平行運算平台。它能充分發揮 GPU 的計算能力,提升大規模運算的效率。
2. 什麼是 cuDNN?
cuDNN(CUDA Deep Neural Network library)是 NVIDIA 為深度學習優化的函式庫,可協助 PyTorch 等框架高效運行神經網路。
1. 安裝 CUDA 的步驟
1-1. 確認 GPU 是否支援 CUDA
請先確認你的電腦是否搭載支援 CUDA 的 NVIDIA GPU:
nvidia-smi
若可顯示 GPU 型號與 CUDA 驅動版本,表示你的設備已支援 CUDA。
1-2. 確認 CUDA 相容性
請至以下官方網站確認 PyTorch 支援的 CUDA 版本:
PyTorch 官方下載頁面
1-3. 下載與安裝 CUDA
- 前往 NVIDIA 的 CUDA 下載頁面,選擇對應的作業系統與版本。
- 依照指示下載並執行安裝程式。
1-4. 確認是否安裝成功
使用以下指令確認 CUDA 是否安裝正確:
nvcc --version
輸出範例:
Cuda compilation tools, release 11.8, V11.8.89
2. 安裝 cuDNN 的步驟
2-1. 下載 cuDNN
- 從 NVIDIA Developer 網站的 cuDNN 頁面 下載對應版本。
- 需要 NVIDIA 帳號,請登入或註冊帳戶。
2-2. 安裝步驟
- 將下載的 ZIP 壓縮檔解壓縮。
- 將解壓後的檔案複製到 CUDA 的安裝目錄中。
範例:
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
2-3. 設定環境變數
執行以下指令將 CUDA 路徑加入系統環境變數:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
2-4. 確認 cuDNN 是否設定成功
使用以下指令確認 cuDNN 是否正確安裝:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
輸出範例:
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
3. 測試 PyTorch 是否與 CUDA 正常連動
3-1. 使用 Python 程式碼進行確認
使用下列程式碼檢查 PyTorch 是否能辨識 CUDA:
import torch
print(torch.cuda.is_available()) # True 表示已偵測到 CUDA
print(torch.cuda.get_device_name(0)) # 顯示 GPU 名稱
輸出範例:
True
NVIDIA GeForce RTX 3060
3-2. 若出現錯誤時的處理方式
錯誤範例 1:
torch.cuda.is_available() -> False
解決方法:
- 檢查 PyTorch 與 CUDA 版本是否相容,必要時重新安裝。
- 確認 NVIDIA 驅動已更新至最新版。
錯誤範例 2:
RuntimeError: CUDA error: invalid device function
解決方法:
- 更新 CUDA 至最新版本,或與 PyTorch 相容的版本。
- 檢查 cuDNN 是否也為相容版本。
下一步
至此,CUDA 與 cuDNN 的設定已完成。接下來的章節將說明如何確認 PyTorch 是否正確安裝,以及基本的執行測試。
6. 確認是否成功安裝
本節將說明如何檢查 PyTorch 是否已正確安裝,並介紹常見錯誤的解決方法。
1. 使用 Python 程式碼檢查安裝狀況
1-1. 確認基本運作
import torch
print("PyTorch Version:", torch.__version__) # 顯示版本
執行後會顯示已安裝的 PyTorch 版本。
輸出範例:
PyTorch Version: 2.0.1
1-2. 確認是否支援 GPU
print("CUDA Available:", torch.cuda.is_available()) # 是否支援 GPU
輸出範例:
CUDA Available: True
若顯示為 True,代表已正確偵測 GPU。
1-3. 顯示 GPU 詳細資訊
if torch.cuda.is_available():
print("Device Name:", torch.cuda.get_device_name(0)) # 顯示 GPU 名稱
print("CUDA Version:", torch.version.cuda) # 顯示 CUDA 版本
輸出範例:
Device Name: NVIDIA GeForce RTX 3060
CUDA Version: 11.8
2. 簡單的運作測試程式
產生張量並進行計算
import torch
# 建立隨機的 3x3 矩陣
x = torch.rand(3, 3)
print("Random Tensor:")
print(x)
# 進行矩陣相加
y = torch.rand(3, 3)
z = x + y
print("Addition Result:")
print(z)
輸出範例:
Random Tensor:
tensor([[0.2567, 0.8954, 0.6543],
[0.1234, 0.4567, 0.7890],
[0.9876, 0.5432, 0.1123]])
Addition Result:
tensor([[0.6789, 1.3456, 1.1234],
[0.3456, 0.7890, 1.5678],
[1.4321, 0.9876, 0.5432]])
若能正確執行並顯示結果,表示 PyTorch 安裝成功且能正常運作。
7. 常見問題與對應解法
本節將詳細說明在安裝或使用 PyTorch 時,容易遇到的錯誤訊息與其解決方式。
1. 安裝過程中的錯誤與處理方法
1-1. 相依套件衝突錯誤
錯誤訊息:
ERROR: Could not find a version that satisfies the requirement torch
可能原因:
- pip 或 Python 版本太舊,與 PyTorch 不相容。
- CUDA 版本與 PyTorch 的安裝指令不一致。
解決方式:
- 更新 pip 與 Python 至最新版本。
python -m pip install --upgrade pip
- 檢查目前的相依性問題:
pip check
- 從官方網站取得正確的安裝指令,並重新嘗試安裝。
1-2. 虛擬環境相關錯誤
錯誤訊息:
ModuleNotFoundError: No module named 'torch'
可能原因:
尚未啟動虛擬環境,或虛擬環境設定錯誤。
解決方式:
- 重新啟動虛擬環境:
conda activate pytorch-env
- 或重新建立虛擬環境:
conda create -n pytorch-env python=3.10
conda activate pytorch-env
conda install pytorch torchvision torchaudio -c pytorch
2. GPU 設定相關錯誤
2-1. 無法辨識 GPU
錯誤訊息:
torch.cuda.is_available() -> False
可能原因:
- CUDA 未正確安裝。
- GPU 驅動過舊。
- PyTorch 與 CUDA 版本不相容。
解決方式:
- 確認 NVIDIA 驅動版本並更新:
nvidia-smi
- 確認 CUDA 版本:
nvcc --version
- 必要時,重新安裝驅動與 CUDA。
2-2. CUDA 錯誤
錯誤訊息:
RuntimeError: CUDA error: invalid device function
原因:
CUDA 與 PyTorch 版本不匹配或不相容。
解決方式:
- 至 PyTorch 官網確認版本對應表。
- 安裝相容版本:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
3. 執行期間的錯誤
3-1. 記憶體不足錯誤
錯誤訊息:
RuntimeError: CUDA out of memory.
原因:
模型或 batch size 太大,導致 GPU 記憶體不足。
解決方式:
- 減小 batch size。
- 刪除不必要變數釋放記憶體:
del variable_name
torch.cuda.empty_cache()
- 檢查程式邏輯是否可優化以減少佔用。
3-2. 執行速度過慢
原因:
程式可能在 CPU 上執行,而未使用 GPU。
解決方式:
- 檢查是否偵測到 GPU:
print(torch.cuda.is_available())
- 指定裝置執行:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)
4. 其他常見問題
4-1. 需要更新 PyTorch
解決方式:
使用以下指令升級:
pip install --upgrade torch torchvision torchaudio
4-2. 善用社群資源
- 官方文件: 參考 PyTorch 官方網站
- 社群支援: 在 Stack Overflow 或 PyTorch Discuss 提問
下一步
透過本章節的說明,您已能處理 PyTorch 安裝與執行過程中常見的錯誤問題。接下來,讓我們進入最終章節,進一步總結並展望未來的學習方向。

8. 總結與下一步建議
本篇文章從 PyTorch 的安裝、環境設定,到常見問題排解做了完整教學。這一節將帶你回顧重點,並介紹未來可挑戰的進階主題。
1. 重點整理
1. PyTorch 是什麼?
- 適用於機器學習與深度學習的高效能框架,支援 GPU 加速。
2. 安裝前準備
- 需確認作業系統、Python 版本與 CUDA 環境。
- 建議使用虛擬環境,便於管理相依性。
3. 安裝方式
- pip: 輕量快速,適合簡易環境。
- Anaconda: 管理方便,適合進階或專案使用。
4. CUDA 與 cuDNN 設定
- 使用 GPU 時需正確設定 CUDA 與 cuDNN,確保效能。
5. 安裝驗證與錯誤處理
- 透過簡單指令與範例程式碼確認安裝成功。
- 提供常見錯誤訊息的排除方法。
2. 下一步建議:活用 PyTorch
安裝完成後,你可以開始實作模型並進行專案開發。以下是推薦的進階主題:
2-1. 建立第一個神經網路
先從簡單的分類任務開始,熟悉 PyTorch 基本語法。
範例程式碼:線性回歸模型
import torch
import torch.nn as nn
import torch.optim as optim
# 建立訓練資料
x = torch.rand(100, 1)
y = 2 * x + 1 + 0.1 * torch.randn(100, 1)
# 定義模型
model = nn.Linear(1, 1)
loss_fn = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# 訓練迴圈
for epoch in range(1000):
y_pred = model(x)
loss = loss_fn(y_pred, y)
optimizer.zero_grad()
loss.backward()
optimizer.step()
# 顯示訓練結果
print(model.weight.item(), model.bias.item())
這是 PyTorch 中最基礎的訓練範例,適合初學者操作與理解。
2-2. 進階應用
- 圖像分類模型
- 可使用 CNN(卷積神經網路)進行圖片識別。
- 自然語言處理模型
- 使用 RNN 或 Transformer 進行分類或翻譯任務。
- 活用預訓練模型
- 使用 ResNet、BERT 等模型建立進階應用。
3. 學習資源推薦
3-1. 官方文件與教學
3-2. 線上課程與影片
- 可在 Coursera、Udemy 等平台學習 PyTorch。
- YouTube 上也有大量免費教學影片。
3-3. 專案範例與 GitHub
- 在 GitHub 上尋找公開專案,有助於學習實務應用。
4. 總結
本篇文章完整介紹了 PyTorch 的安裝、設定與常見問題排除。你現在已具備開始開發機器學習專案的基礎。
下一步,請開始構建自己的模型,並學習如何應用預訓練模型來處理更進階的任務。祝你學習順利,玩得開心!
若有任何問題或建議,歡迎在下方留言與我們聯繫!