史上最全的pytorch
開發環境搭建教程【基於win10
】
0.總結
Get to the points first. The article comes from LawsonAbs!
pytorc
h簡介- 安裝前的基本環境
- 詳細安裝過程
1.pytorch
是什麼?
pytorch
是一個機器學習的框架平臺,與TensorFlow
的作用機制相類似。雖然晚於TensorFlow
出生,但是憑藉其優雅的操作接口和動態圖的構建思想,在使用便捷上已經遠超TensorFlow
,但是因爲開放較晚的原因,在工業部署方面仍然在追趕TensorFlow
。
2.基本環境
這裏我列舉我的電腦裏 pytorch
的安裝環境。
win 10
GPU
【版本型號GeForce GT 740M
;驅動型號:417.22;cuda
版本:10.0 】詳細請看如下所示:
Anaconda
版本
3.安裝pytorch
如果想從事機器學習方向,我覺得比較完美的搭配是Anaconda+pycharm[Anaconda版]
,建議上述一整套的環境的版本信息一定要匹配,否則會很容易出問題。
3.1 安裝 Anaconda
python
只是一個編程語言,在開發具體軟件時,可能還需要使用到各種的包,比如著名的 numpy
,torch
等等。如果我們自己來管理則顯得非常麻煩,於是便有了Anaconda
這樣一個類似容器的東西,它封裝了python
各種各樣的包;同時它也可以提供一個不同的python語言版本。是非常利於 python
編程的。
官網下載 anaconda
軟件,然後傻瓜安裝即可。
安裝完成之後,在命令行輸入python
,能進入交互頁面就說明沒有問題了。
3.2 安裝pytorch
這個步驟稍顯麻煩,如果不加註意,會爲以後挖下許多坑。
-
step 1.首先確定自己的電腦是否支持GPU加速。pytorch分成CPU和GPU兩個版本,其中GPU版本僅支持N卡【Nvidia 顯卡】的使用【對N卡的操作的接口就是cuda】。如果支持,則還需要驗證自己的顯卡算力如何,低算力是不能用較高版本的cuda的,否則啓用cuda會失敗;同時判斷顯卡的驅動版本,是否支持cuda。
-
step 2.進入pytorch 官網,針對自己的平臺安裝pytorch。【這裏筆者建議千萬不要安裝最新版本的pytorch,除非你對自己的電腦硬件很有信心,否則是幾乎難以安裝成功的】。筆者寫此稿的時間是2020-04-09,我安裝的就是
pytorch 1.0 + cuda8.0 +
,官網首頁給出的幾乎都是最新版,所以我們要去到之前的發佈頁找到合適的版本。我找到適合我的電腦的安裝命令如下:
cuda 8.0
指的就是安裝GPU版本的pytorch,然後cuda版本的型號是8.0【注意這個跟windows環境下看到的cuda版本10.0不同,那裏的10.0意指支持417.22的驅動支持10.0版本的cuda;這裏的8.0意指pytorch使用GPU加速時,其調用的cuda版本是8.0。二者不衝突。】
複製命令:
conda install pytorch==1.0.0 torchvision==0.2.1 cuda80 -c pytorch
去到anaconda prompt
環境下執行【這個需要在外網下載3-5個包,而且有的包還挺大,速度很慢!我尚未找到比較合理的加速方案。】這裏解釋一下這條命令的組成:
pytorch==1.0.0表示其1.0.0版本號;pytorchvision是在使用pytorch時經常會用到的一個可視化工具,這裏的版本號是0.2.1。 -
step3. 等待命令執行成功時,就可以驗證pytorch 是否真的安裝成功了。官網中的驗證信息遠遠不夠。
進入python的交互頁面:
from __future__ import print_function
import torch
x = torch.rand(5, 3)
print(x)
如果有類似如下的輸出
tensor([[0.3380, 0.3845, 0.3217],
[0.8337, 0.9050, 0.2650],
[0.2979, 0.7141, 0.9069],
[0.1449, 0.1132, 0.1375],
[0.4675, 0.3947, 0.1426]])
則說明pytorch的CPU版是可以使用了,那麼可以在GPU上跑跑嗎?還需要再驗證一下。
import torch
torch.cuda.is_available()
如果此時能夠調用GPU,則應該顯示True
,否則爲False
。有什麼原因會導致輸出爲false呢?可以參考我的博客。但是即使爲True時,也不見得真的能在GPU上跑,輸入如下語句:
import torch as t
import torchvision
print(t.cuda.is_available())
a = t.Tensor(5,3)
a = a.cuda()
print(a)
如果真的顯示出來,則說明沒有問題:
可能會因爲算力不夠的問題,導致報錯:
RuntimeError: CUDA error: no kernel image is available for execution on the....
這個原因就是因爲機器的性能不支持最新版本的cuda,所以我需要安裝之前的pytorch【從而降低cuda的版本】。
3.3 安裝pycharm
pycharm
是一款編程利器,我這裏安裝的是社區版,因爲anaconda
和pycharm
公司有合作,所以可以專門下載一個基於anaconda
環境的pycharm
,這樣編程可能就會更舒服一些。
3.4 查看版本信息
在anaconda prompt
的環境裏使用命令pip list
可以看到python
相關的包及其版本信息。
4.其它
各位讀者有什麼需要補充的儘可放心評論留言,我會第一時間完善博文!