PyTorch簡介
PyTorch的前身是Torch,Torch是一個有大量機器學習算法支持的科學計算框架,靈活度很高,是一個與NumPy類似的張量(Tensor)操作庫。但是Torch采用的是小眾的編程語言Lua,因此流行度很低,于是就有了PyTorch的出現。PyTorch與Torch的底層語言相同,只不過是使用了更大眾化的編程語言作為上層包裝語言。

PyTorch
PyTorch是一個基于Torch的Python開源機器學習庫,用于自然語言處理等應用,不僅能夠實現強大的GPU加速,同時還支持動態神經網絡,這一點是現在很多主流框架(如TensorFlow)都不支持的。PyTorch提供了如下兩個高級功能:
- 具有強大的GPU加速的張量計算(如NumPy)
- 包含自動求導系統的深度神經網絡
PyTorch的主要優勢在于它的靈活性,支持動態神經網絡,可以通過反向求導技術幾乎零延遲地任意改變神經網絡的行為,這也是剛開始PyTorch相比于TensorFlow的最大優勢了(TensorFlow1.0時期是命令式的靜態編程語言,首先必須構建一個神經網絡,然后重復使用相同的結構,如果想要改變神經網絡結構,就必須從頭開始。但是TensorFlow1.5以后引入了Eager Execution機制實現了動態圖)。此外,PyTorch還有支持GPU、底層代碼簡單易懂、命令式體驗、自定義擴展等功能。
當然,PyTorch也有很多不足的地方,例如其全面性不如TensorFlow,尚不支持快速傅里葉和檢查無窮與非數值張量。PyTorch針對移動端、嵌入式部署以及高性能服務端部署的性能表現不佳。
技術是發展的,我們有理由相信任何框架只要有價值就會一直被優化,所有的問題終將不是問題。
PyTorch相關安裝
- 安裝Anaconda
Anaconda是一個開源的Python發行版本,是一個強大的包、環境管理器,可以很方便地解決Python并存、切換以及各種第三方包安裝的問題,同時支持Linux、Mac和Windows三大常用操作系統。
1、下載
可以直接從Anaconda官網(https://www.anaconda.com)下載,由于Anaconda官網服務器是國外的,因此如果網速不給力,可以選擇從清華大學開源軟件鏡像站(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive)下載。下載時選擇適合自己的操作系統與版本點擊下載即可。
2、安裝
雙擊打開下載的安裝包,一路Next至Finish即可。對于Windows用戶,可能需要配置環境變量:打開控制面板->高級系統設置->環境變量->系統變量找到Path,點擊編輯,加入三個文件夾的存儲路徑(Anaconda所在路徑、Anaconda所在路徑Librarybin、Anaconda所在路徑Scripts)。

Anaconda首頁
安裝成功打開Anaconda,首頁如上圖所示。
- 安裝PyTorch和torchvision
torchvision是獨立于PyTorch的關于圖像操作的一些工具庫。torchvision主要包括一下幾個包:
- datasets:幾個常用視覺數據集,可以加載或下載,可以查看源碼,也可以寫自己的Dataset子類。
- models:包含主流模型,例如AlexNet、VGG、ResNet、Densenet等。
- transforms:常用的圖像操作,例如隨機切割、幾何變換、數據類型轉換、圖像到tensor,NumPy數組到tensor,tensor到圖像等。
- utils:用于把形似圖像張量保存到硬盤中,給一個mini-batch的圖像可以生成一個圖像網格。
可以使用一條conda install命令同時安裝PyTorch和torchvision,只需在命令行輸入如下命令:
conda install pytorch torchvision -c pytorch
等待環境加載完畢,輸入y開始安裝。經過一段時間的等待,完成安裝。如果不使用Anaconda,也可以使用pip進行安裝。
打開Anaconda,在首頁找到其中的jupyter,點擊Launch運行jupyter(剛開始使用jupyter可能未安裝的先點擊install進行安裝)。

創建py文件
點擊New->Python 3創建一個Python文件,輸入如下代碼:
import torchimport torchvisionprint(torch.__version__)
如果程序沒有報錯,并且順利輸出PyTorch的版本號,表明已經成功安裝了PyTorch與torchvision。