文章目錄
- 1. 什么是PyTorch
- 2. PyTorch的安裝與配置(無GPU)
- 2.1 創建環境
- 2.2 安裝pytorch庫(無GPU)
- 2.3 驗證安裝結果
1. 什么是PyTorch
PyTorch 是一種用于構建深度學習模型且功能完備的開源框架,通常用于處理圖像識別和語言處理等應用當中的機器學習。PyTorch 保留了 Torch(Lua版)的許多核心思想和設計理念,可以被看作是 Torch 的繼承或進化版。由于它用 Python 編寫,因此學習和使用起來相對簡單。
PyTorch 是 Facebook AI Research(FAIR) 和其他幾個實驗室開發者的工作成果。該框架將 Torch 中高效而靈活的 GPU 加速后端庫與直觀的 Python 前端相結合,能完全支持 GPU,其中使用的“反向模式自動微分”技術,使得 PyTorch 可以動態修改計算圖形,成為快速實驗和原型設計的常用選擇。它于 2017 年 1 月在 Github 上開源。
PyTorch的主要特點:
- PyTorch.org 社區十分活躍,有大量優秀文檔和教程;
- 采用 Python 編寫,并集成了大量的熱門 Python 庫,對于開發者而言相對容易學習;
- 支持用于實驗的“即時模式”,也支持用于高性能執行的“圖形模式”;
- 支持 CPU、GPU、并行處理以及分布式訓練;
- PyTorch 支持動態計算圖形,能夠在運行時更改網絡行為,相比其他的靜態計算具有更大的靈活性優勢;
- PyTorch.Hub 是一個預訓練模型庫,具有極簡的調用接口;
- 擁有從計算機視覺到增強學習等領域的大量工具和庫。
2. PyTorch的安裝與配置(無GPU)
在開始安裝 PyTorch 之前,需要先確認是否滿足以下條件:
- 操作系統要求:
- Windows 7 及更高版本;建議 Windows 10 及以上版本;
- Windows Server 2008 r2 及更高版本
- Python版本:目前 Windows 上的 PyTorch 僅支持 Python 3.8-3.11,不支持 Python 2.x
2.1 創建環境
深度學習項目通常依賴于多個第三方庫和框架,且這些庫中許多都有特定版本依賴關系和兼容性問題,因此,為了確保各項目的依賴包不會互相沖突,盡量地使用環境管理工具,將不同項目的環境隔離開。
這里我們用前文《安裝conda并搭建python環境(入門教程)》提到的環境管理工具 Conda。依次運行如下命令創建名為 pytorch_env
的虛擬環境,安裝的解釋器為 Python=3.8
,并激活該環境。
# 創建環境
conda create --name pytorch_env python=3.8
# 激活環境
conda activate pytorch_env
2.2 安裝pytorch庫(無GPU)
在 PyTorch 官網當中,可以根據自己本地的安裝環境,配置相應的條件得到安裝命令。這里我們選擇的條件是:穩定版,Win系統,conda命令安裝,Python語言,僅有CPU。
根據所選條件,生成安裝命令 conda install pytorch torchvision torchaudio cpuonly -c pytorch
。我們在已激活的 pytorch_env
環境下,輸入上述命令運行即可。
Conda 在安裝 PyTorch 時能自動安裝該庫所有的依賴項。在安裝過程中會彈出是否繼續運行(安裝所列出的依賴項)的提示,輸入 y
回車即可。
最后出現一個 done
,說明安裝完成。
2.3 驗證安裝結果
為了確保 PyTorch 已正確安裝,我們可以通過運行 PyTorch 測試代碼來驗證。這里我們創建一個 test.py
文件,代碼內容如下:
import torchx = torch.rand(5, 3)
print(x)
在安裝了 PyTorch 的 pytorch_env
環境下,執行 python test.py
以運行該測試文件。PyTorch 安裝成功的話,輸出應類似于下圖:
如果安裝的是 GPU 版本,還可以通過如下代碼檢查 GPU 驅動程序和 CUDA 是否已啟用并可供 PyTorch 訪問。由于本文我們介紹的是 CPU 版本的安裝,因此無需驗證下面代碼。
import torch
torch.cuda.is_available()
盡管CPU版本的 Pytorch 在核心功能接口方面并沒有與 GPU 版本有差異,但由于沒有利用 GPU 的并行計算能力,在訓練深度學習模型和處理大規模數據時性能會相對差很多。