1. 程式人生 > >【Pytorch-入門】windows下的環境搭建(經驗證成功~)

【Pytorch-入門】windows下的環境搭建(經驗證成功~)

自動 檢查 create span -- nump .cn otl type

前言

實驗需要,之前使的tensorflow【因為自己手邊的服務器都是windows環境TT...】,但身邊的師兄們用的都是pytorch,自己查了查現在做科研基本上都是用的pytorch,而且現在pytorch的windows版本也已經很成熟了,fastai深度學習庫也受到了廣泛的好評,所以...果斷轉!

環境搭建-windows-gpu版:

入門嘛當然是先搭建環境啦,網上資料蠻多的,這裏我就記錄一下我的搭建過程吧:

一、版本選擇:

網上看看,現在pytorch最新版的都是1.0了哇,然而很多開源的項目用的還都是0.4版的,現在剛入門,還是基礎為主,就選擇最新版pytorch1.0吧!

二、系統需求:

1、Python:3.6及以上

2、操作系統環境:windows

系統GPUCPU
linux binary binary
mac source binary
windows source source

備註binary = 直接可以安裝, source = 必須從源碼編譯

三、通過Anaconda安裝:

之前沒安裝過Anaconda的需要安裝好之後再進行之後的操作![教程網上很多(有的也很坑,慎重選擇!),這裏不再贅述]

這裏因為俺之前摸爬滾打,入了很多坑,所以有些操作就只簡單解釋一下,如果不懂可以自己查查或者留言~

1、使用Anaconda創建虛擬環境【防止出現你之前的許多包or環境與Python,PyTorch以及其他包的版本出現不兼容等玄學問題!】:

  • 查看當前存在哪些虛擬環境:conda env list 或 conda info -e

技術分享圖片?

技術分享圖片
  • 創建python虛擬環境:
使用 conda create -n your_env_name python=X.X(2.7、3.6等) anaconda 命令創建python版本為X.X、名字為your_env_name的虛擬環境。your_env_name文件可以在Anaconda安裝目錄envs文件下找到。
# 指定python版本為3.6,註意至少需要指定python版本或者要安裝的包# 後一種情況下,不指定python版本,自動安裝最新python版本
conda create -n env_name python=3.6
# 同時安裝必要的包
conda create -n env_name numpy matplotlib python=3.6
技術分享圖片

技術分享圖片

技術分享圖片

  • 激活創建的虛擬環境:Windows: activate your_env_name(虛擬環境名稱),這是使用python --version可以檢查當前python版本是否為想要的。

技術分享圖片?

2、在當前虛擬環境下通過conda安裝pytorch:

如果和我一樣準備安裝的是gpu版的,註意一定要檢查你的cuda版本,確保和你的系統保持一致。一般推薦的是cuda9.0版的【相對最新版要穩定的多】,如果沒安裝cuda,可以自行安裝後再進行之後的步驟,推薦按照官網教程來:win10+cuda9.0+cuDNN 7.0+TensorFlow-gpu install steps【一定要註意版本匹配的問題!】:

  • 進入之前配置好的虛擬環境中:activate -虛擬環境名稱(如果你忘記了之前的虛擬環境名稱,輸入:conda env list)
  • 安裝每日編譯 nightly 的 PyTorch,註意 cuda 的版本要和你自己的系統保持一致,比如在 CUDA 9.2 上安裝:
conda install -c pytorch pytorch-nightly cuda92
  • 如果你的系統沒有安裝 cuda,那麽可以通過下面的命令安裝 cpu 版本的 PyTorch:
conda install -c pytorch pytorch-nightly-cpu

安裝 fastai:

conda install -c fastai fastai
  • 如果安裝過程有什麽問題,請確保你的 conda 版本已經更新到最新:
conda update conda

3、安裝成功後的測試:

因為是gpu版的,而且在windows上安裝,難免會有許多玄學bug出現,這時是否能用,就要測試一下啦:

同樣在之前的cmd虛擬環境中輸入:

import torch    # 如正常則靜默

a = torch.Tensor([1.])    # 如正常則靜默

a.cuda()    # 如正常則返回"tensor([ 1.], device=‘cuda:0‘)"

from torch.backends import cudnn # 如正常則靜默

cudnn.is_acceptable(a.cuda())    # 如正常則返回 "True"

技術分享圖片?

【Pytorch-入門】windows下的環境搭建(經驗證成功~)