1. 程式人生 > >在各個平臺系統中安裝Pytorch

在各個平臺系統中安裝Pytorch

本文系轉載,出處:https://blog.csdn.net/sunqiande88/article/details/80085569

PyTorch簡介

在2017年1月18日,facebook下的Torch7團隊宣佈PyTorch開源後就引來了劇烈的反響。PyTorch 是 Torch 在 Python 上的衍生版本。Torch 是一個使用 Lua 語言的神經網路庫, Torch 很好用, 但是 Lua 流行度不夠, 所以facebook開發團隊將 Lua 的 Torch

 移植到了更流行的語言 Python 上,推出了PyTorch 。

PyTorch是一個Python優先的深度學習框架,是一個和tensorflow,Caffe,MXnet一樣,非常底層的框架。先說下PyTorch相比於Tensorflow的三大優勢:

一.Python優先支援

PyTorch主推的特性之一,就是支援Python(官方的提法:puts Python first)。因為直接構建自 Python C API,PyTorch從細粒度上直接支援python的訪問。相比於原生Python實現,引入的新概念很少,這不僅降低了 Python

 使用者理解的門檻,也能保證程式碼基本跟原生的 Python 實現一致。事實上,開發者可以直接用原生 Python 程式碼擴充套件 PyTorch 的 operation

Tensorflow總有一種用 Python 呼叫 C++ 寫的第三方動態連結庫的感覺;寫模型需要更多程式碼,無法貫徹 Python的簡約風格;而且寫新的 operation 必須用 C++ 開發。

二.動態圖的良好支援

Tensorflow執行必須提前建好靜態計算圖,然後通過feed

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

TensorFlow飽受詬病的痛點就是隻支援靜態圖模型。也就是說,在處理資料前必須預先定義好一個完整的模型。如果資料非常規整,那還好。但實際工程和研究專案中的資料,難免有一些邊角的情況。很多專案,其實需要大量實驗才能選擇正確的圖模型。這就很痛苦了。因此,很多專案轉而採用了PyTorch等支援動態圖模型的框架,以便在執行程式的時候動態修正模型。

不過在2017年10月31日萬聖節這天,Google釋出了TensorFlow Eager Execution(貪婪執行),為TensorFlow添加了指令式程式設計的介面。啟用貪婪執行後,TensorFlow操作會立刻執行,不用通過Session.run()執行一個預先定義的圖。相信在不久的TensorFlow1版本,谷歌會正式為TensorFlow加入動態圖的支援!

三.易於Debug

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

PyTorch的官方Windows支援

2018年4月25日,PyTorch 官方釋出 0.4.0 版本,該版本的PyTorch 有多項重大更新,其中最重要的改進是支援 Windows 系統。Windows使用者能直接通過condapip和原始碼編譯三種方式來安裝Pytorch,不過需要強調Windows下的Pytorch僅支援Python3.5Python3.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

 

Python3.6+pip安裝gpu版本 
目前gpu版本支援cuda8.0,cuda9.0cuda9.1,請選擇對應的版本下載安裝,不要同時執行下面三個命令!

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版本 
目前gpu版本支援cuda8.0,cuda9.0cuda9.1,請選擇對應的版本下載安裝,不要同時執行下面三個命令!

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.5Python3.6,執行命令:

conda install pytorch -c pytorch 

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

conda install pytorch cuda90 -c pytorch 

或者

conda install pytorch cuda91 -c pytorch 

來進行安裝。

測試安裝是否成功

import torch
print(torch.__version__)

如果輸出0.4.0,那麼恭喜Windows下的PyTorch0.4.0安裝成功!

最後需要安裝 torchvision

pip install torchvision

一般gpu版本配置需要cuDNN,而cuDNN需要註冊才能下載,下載速度太慢,有網友提供兩個百度雲的下載連結,cuDNN安裝教程見這裡

Win10-x64+CUDA8+cuDNN v7 
Win10-x64+CUDA8+cuDNN v6