史上最全的pytorch開發環境搭建教程【基於win10】

史上最全的pytorch開發環境搭建教程【基於win10


0.總結

Get to the points first. The article comes from LawsonAbs!
  • pytorch簡介
  • 安裝前的基本環境
  • 詳細安裝過程

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只是一個編程語言,在開發具體軟件時,可能還需要使用到各種的包,比如著名的 numpytorch 等等。如果我們自己來管理則顯得非常麻煩,於是便有了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是一款編程利器,我這裏安裝的是社區版,因爲anacondapycharm公司有合作,所以可以專門下載一個基於anaconda環境的pycharm,這樣編程可能就會更舒服一些。

3.4 查看版本信息

anaconda prompt的環境裏使用命令pip list可以看到python相關的包及其版本信息。

4.其它

各位讀者有什麼需要補充的儘可放心評論留言,我會第一時間完善博文!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章