1. 程式人生 > >Windows 10安裝PyTorch

Windows 10安裝PyTorch

Win 10安裝PyTorch

這篇部落格是關於如何在Win10作業系統上安裝PyTorch,這裡有參考前輩nudt_qxx的部落格https://blog.csdn.net/xiangxianghehe/article/details/80103095

.

PyTorch 簡介

PyTorch是Torch7團隊開發的,從它的名字就可以看出,其與Torch的不同之處在於Pytorch使用了Python作為開發語言。Torch 是一個使用 Lua 語言的神經網路庫, Torch 很好用, 但是 Lua 流行度不夠, 所以facebook開發團隊將 Lua 的 Torch 移植到了更流行的語言 Python 上,推出了PyTorch 。它和tensorflow,Caffe,MXnet一樣,是非常底層的框架。所謂“Python First”,同樣說明它是一個以Python優先的深度學習框架,不僅能實現強大的GPU加速,同時還支援動態神經網路。

PyTorch既可以看做加入了GPU支援的Numpy,同時也可以看成一個擁有自動求導功能的深度神經網路,除了Facebook之外,它已經被Twitter,CMU和Salesforce等機構採用。

先說下PyTorch相較於其它框架主要有以下幾大特點:

1. Python優先支援策略

PyTorch主推的特性之一,就是支援Python(官方的提法:puts Python first)。因為直接構建自 Python C API,PyTorch從細粒度上直接支援python的訪問。相比於原生Python實現,引入的新概念很少,這不僅降低了 Python 使用者理解的門檻,也能保證程式碼基本跟原生的 Python 實現一致。事實上,開發者可以直接用原生 Python 程式碼擴充套件 PyTorch 的 operation。

2. 動態圖的良好支援

Tensorflow執行必須提前建好靜態計算圖,然後通過feed和run重複執行建好的圖。但是PyTorch卻不需要這麼麻煩:PyTorch的程式可以在執行時動態構建/調整計算圖。相對來說,PyTorch具有更好的靈活性。這得益於PyTorch直接基於 Python C API 構建的 Python 介面。

3. 易於除錯

PyTorch在執行時可以生成動態圖,開發者就可以在堆疊跟蹤中看到哪一行程式碼導致了錯誤。你甚至可以在偵錯程式中停掉直譯器並看看某個層會產生什麼。

4. 命令式體驗

PyTorch的設計思路是線性,直觀且易於使用的,當你執行一行程式碼時,它會忠實地執行,並沒有非同步的世界觀,所以當你的程式碼出現bug時候,可以通過這些資訊輕鬆快捷地找到出錯的地方,不會讓你debug的時候因為錯誤的指向或者非同步和不透明的引擎浪費太多的時間。

5. 輕鬆擴充套件

PyTorch的程式碼相較於Tensorflow而言,更加簡潔直觀,同時對於Tensorflow高度工業化的很難看懂的底層程式碼,PyTorch的原始碼就要友好的多,更容易看懂。深入API,理解PyTorch底層肯定是一件令人高興的事。

PyTorch 主要元件

  • Torch: 類似於Numpy的張量庫,帶有強大的GPU支援;
  • torch.autograd: 一個基於tape的自動微分庫,支援torch中的所有的微分張量運算;
  • torch.nn: 一個專為最大靈活性而設計,與autograd深度整合的神經網路庫;
  • torch.multiprocessing: Python多運算,但在運算中帶有驚人的torch張量記憶體共享。這對資料載入和Hogwild訓練很有幫助;
  • torch.utils: 資料載入器,訓練器和其他便利的實用功能;
  • torch.legacy(.nn/.optim):出於後向相容性原因而從torch移植而來的舊程式碼。

PyTorch對於Windows系統的支援

2018年4月25日,PyTorch 官方釋出 0.4.0 版本,目前已更新到0.4.1版本。該版本的PyTorch 有多項重大更新,其中最重要的改進是支援 Windows 系統。Windows使用者能直接通過conda、pip和原始碼編譯三種方式來安裝Pytorch,不過需要強調Windows下的Pytorch僅支援Python3.5和Python3.6,不支援其他的Python3版本,也不支援Python2。我們在官網就能看到相應的安裝方式:
在這裡插入圖片描述

方法一: pip安裝

Python3.6+pip安裝cpu版本

pip install http://download.pytorch.org/whl/cpu/torch-0.4.0-cp36-cp36m-win_amd64.whl 

Python3.5+pip安裝cpu版本

pip install http://download.pytorch.org/whl/cpu/torch-0.4.0-cp35-cp35m-win_amd64.whl

對於GPU版本的安裝,Pytorch支援cuda8.0, cuda9.0 和 cuda9.1,請選擇對應的版本下載安裝。

Python3.6+pip安裝gpu版本

pip install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl  
pip install http://download.pytorch.org/whl/cu90/torch-0.4.0-cp36-cp36m-win_amd64.whl 
pip install http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl 

Python3.5+pip安裝gpu版本

pip install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp35-cp35m-win_amd64.whl
pip install http://download.pytorch.org/whl/cu90/torch-0.4.0-cp35-cp35m-win_amd64.whl
pip install http://download.pytorch.org/whl/cu91/torch-0.4.0-cp35-cp35m-win_amd64.whl

方法二:Conda安裝

如果你是Anaconda|Python使用者,就不需要區分Python3.5和Python3.6,執行命令:

conda install pytorch -c pytorch 

就可以完成安裝。不過這個預設安裝的是cuda8.0的gpu版本,如果你需要安裝cuda9.0或cuda1.0的gpu版本,請執行:

conda install pytorch cuda90 -c pytorch  

或者

conda install pytorch cuda91 -c pytorch 

測試安裝成功

import torch
print(torch.__version__)

如果輸出0.4.1,Windows下的PyTorch0.4.1就安裝成功了。