-
PyTorch
鎖定
PyTorch發展歷史
PyTorch的前身是Torch,其底層和Torch框架一樣,但是使用Python重新寫了很多內容,不僅更加靈活,支持動態圖,而且提供了Python接口。它是由Torch7團隊開發,是一個以Python優先的深度學習框架,不僅能夠實現強大的GPU加速,同時還支持動態神經網絡。
2017年1月,由Facebook人工智能研究院(FAIR)基於Torch推出了PyTorch。它是一個基於Python的可續計算包,提供兩個高級功能:1、具有強大的GPU加速的張量計算(如NumPy)。2、包含自動求導系統的深度神經網絡。
PyTorch運行環境
PyTorch優點
- PyTorch是相當簡潔且高效快速的框架
- 設計追求最少的封裝
- 設計符合人類思維,它讓用户儘可能地專注於實現自己的想法
- 與google的Tensorflow類似,FAIR的支持足以確保PyTorch獲得持續的開發更新
- PyTorch作者親自維護的論壇 供用户交流和求教問題
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版本
配置Jupyter Notebook
新建的環境是沒有安裝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的相關開發環境了
[3]
。
PyTorch版本更新
繼TensorFlow更新後,PyTorch也迎來了最新的 1.4 版。
本次更新的重點是增加了很多重要的新特性,包括給用户提供Build級別的移動端定製化支持、增加分佈式模型並行訓練、讓Java程序能夠運行TorchScript等。此外還有JIT、C++、分佈式訓練、Eager前端、PyTorch Mobile等方面的功能改進和Bug修復。
本次PyTorch 更新是最後一個支持Python2的版本,同時也是最後一個支持C++11的版本。官方提示説,用户應當開始遷移到Python3,並使用C++14開始編譯工作
[4]
。
- 參考資料
-
- 1. 廖星宇.深度學習入門之PyTorch.北京:電子工業出版社,2017年:11-13
- 2. Pytorch 簡介 .github[引用日期2020-01-16]
- 3. 1.2 Pytorch環境搭建 .github[引用日期2020-01-16]
- 4. PyTorch 1.4最新版放出:支持Python2的最後一版,支持分佈式模型並行、Java程序、移動端等多項新功能 .新浪科技.2020-01-16[引用日期2020-01-16]
- 5. 扎克伯格把 PyTorch 捐了,已歸入 Linux 基金會 - IT之家 .IT之家[引用日期2022-09-13]
- 6. ROCm:機器學習 .amd[引用日期2023-10-31]