發展歷史
PyTorch的前身是Torch,其底層和Torch框架一樣,但是使用Python重新寫了很多內容,不僅更加靈活,支持
動態圖,而且提供了Python接口。它是由Torch7團隊開發,是一個以Python優先的
深度學習框架,不僅能夠實現強大的GPU加速,同時還支持動態神經網路。
2017年1月,由
Facebook人工智慧研究院(FAIR)基於Torch推出了PyTorch。它是一個基於
Python的可續計算包,提供兩個高級功能:1、具有強大的GPU加速的
張量計算(如NumPy)。2、包含自動求導系統的
深度神經網路。
2022年9月,扎克伯格親自宣布,PyTorch 基金會已新鮮成立,並歸入 Linux 基金會旗下。
運行環境
優點
PyTorch是相當簡潔且高效快速的框架
設計追求最少的封裝
設計符合人類思維,它讓用戶儘可能地專注於實現自己的想法
與google的Tensorflow類似,FAIR的支持足以確保PyTorch獲得持續的開發更新
PyTorch作者親自維護的論壇 供用戶交流和求教問題
入門簡單
基礎環境
環境搭建
安裝Pytorch
PyTorch的安裝十分簡單,根據PyTorch官網,對系統選擇和安裝方式等靈活選擇即可。這裡以
anaconda為例。
Pytorch的安裝經過了幾次變化,請大家以官網的安裝命令為準。另外需要說明的就是在1.2版本以後,Pytorch只支持cuda 9.2以上了,所以需要對cuda進行升級,部分顯示卡都可以用,包括筆記本的MX250也是可以順利升級到cuda 10.1。此處使用Conda包管理器。
# 全部通用,ROCm僅支持Linux
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch #CUDA 10.2
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch #CUDA 11.3
conda install pytorch torchvision torchaudio cpuonly -c pytorch #CPU
pip3 install torch torchvision==0.11.2 -f https://download.pytorch.org/whl/rocm4.2/torch_stable.html
# ROCm 4.2 (僅Linux)
驗證輸入python 進入
import torch
print(torch.__version__) #Pytorch版本
print(torch.version.cuda) #CUDA版本
print(torch.backends.cudnn.version()) #CUDNN版本
新建的環境是沒有安裝ipykernel的,所以無法註冊到Jupyter Notebook中,所以先要準備環境
#安裝ipykernel
conda install ipykernel
#寫入環境
python -m ipykernel install --name pytorch --display-name "Pytorch for Deeplearning"
下一步:定製 Jupyter Notebook
#切換回基礎環境
activate base
#創建jupyter notebook配置檔案
jupyter notebook --generate-config
## 這裡會顯示創建jupyter_notebook_config.py的具體位置
打開檔案,修改
c.NotebookApp.notebook_dir = '' 默認目錄位置
c.NotebookApp.iopub_data_rate_limit = 100000000 這個改大一些否則有可能報錯
測試
至此,Pytorch 的
開發環境安裝完成,可以在
開始選單中打開Jupyter Notebook 在New 選單中
創建檔案時選擇Pytorch for Deeplearning 創建PyTorch的相關開發環境了。
版本更新
本次更新的重點是增加了很多重要的新特性,包括給用戶提供Build級別的移動端定製化支持、增加分散式模型並行訓練、讓
Java程式能夠運行TorchScript等。此外還有JIT、C++、分散式訓練、Eager前端、PyTorch Mobile等方面的功能改進和Bug修復。
本次PyTorch 更新是最後一個支持
Python2的版本,同時也是最後一個支持C++11的版本。官方提示說,用戶應當開始遷移到Python3,並使用C++14開始編譯工作。