Windows10 安裝 CUDA + cuDNN + pyTorch


2020/5/29

在 windows10 上面安裝 CUDA 和 cuDNN

0、簡單了解一下 CUDA 和 cuDNN 

  1)什么是 CUDA

        CUDA(ComputeUnified Device Architecture),是顯卡廠商NVIDIA推出的運算平台。 CUDA是一種由NVIDIA推出的通用並行計算架構,該架構使GPU能夠解決復雜的計算問題。 

  2)什么是cuDNN

        NVIDIA cuDNN是用於深度神經網絡的GPU加速庫。它強調性能、易用性和低內存開銷。NVIDIA cuDNN可以集成到更高級別的機器學習框架中,如谷歌的Tensorflow、加州大學伯克利分校的流行caffe軟件。簡單的插入式設計可以讓開發人員專注於設計和實現神經網絡模型,而不是簡單調整性能,同時還可以在GPU上實現高性能現代並行計算。

  3)CUDA 和 cuDNN 的關系  
 
  CUDA看作是一個工作台,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手。但是CUDA這個工作台買來的時候,並沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多。

1、查看本機的CUDA 驅動適配版本

  桌面右鍵打開英偉達控制面板,點擊幫助->系統信息->組件

  

 

   可以看到本機支持的是CUDA 10.1  版本,表示是不支持更高版本的。如果你升級驅動,可能會支持更高版本,也可能不會提升。所以就必須安裝 10.1 及以下的版本。

 

2、CUDA 各個歷史版本下載鏈接

  https://developer.nvidia.com/cuda-toolkit-archive

  

 

   那根據第一步里面我自己的機器支持,我就下載10.1(Feb 2019)這個版本。

 

  可以看到版本號是10.1.105,低於第一步里面的10.1.120,應該是沒問題的。我的下載速度還是很快的:

  

 

 3、下載 cuDNN

  地址:https://developer.nvidia.com/rdp/cudnn-download  

  下載cuDNN是需要登錄英偉達開發者賬戶的,注冊一個並填寫問卷就行了,很簡單。

  注意:必須選擇和你安裝的CUDA匹配的版本。

  這個賬號密碼要求有大寫字母,有字符:G**_*

  

   

 

   上面選擇 10.1版本,然后選擇 windows10 ,接着開始下載。

   兩百多兆的壓縮包,不過這次下載速度很慢。

 4、安裝 CUDA 和 cuDNN  

  1)安裝 CUDA

  找到你下載的CUDA,無腦安裝就行了。當然如果你想自定義的話要記住你選擇的安裝路徑。

  CUDA安裝完成后,打開命令行輸入 nvcc -V ,成功的話會返回 cuda 版本號:

 

  

 

   2)cuDNN

  解壓cuDNN壓縮包,可以看到bin、include、lib目錄:

   

   將 bin 目錄里面的內容復制,然后粘貼到  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA   對應的  bin 目錄里面:

  

 

   同樣的,include 和 lib 目錄里面的文件也復制到相應的文件夾里面。

 5、添加環境變量

  在系統環境變量的Path項下添加幾個路徑

  

 

   點擊 編輯 -- > 新建,需要添加下面兩個路徑(安裝目錄):

   C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

 

   C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64

6、查看安裝結果

  

 

  

 

7、安裝 pyTorch(在這一部分踩了很多坑)

  (可以先看一下這篇文章 參考  https://blog.csdn.net/qq_36659185/article/details/106325832)

  先放結論:(執行以下命令)

 (1)創建pyTorch 虛擬環境(我們想在哪個虛擬環境上面安裝pyTorch就可以在哪個環境安裝,各環境之間互補影響

  conda create  -n  pytorch  python=3.7

   (2)進入 pytorch 虛擬環境

  activate pytorch

 (3)執行以下安裝命令:

  conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

  conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

  conda config --set show_channel_urls yes

  conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

  conda install pytorch torchvision cudatoolkit=10.1

(4)安裝完成測試 PyTorch GPU 版本是否安裝成功 

運行以下命令:

python

import torch

 

x = torch.rand(5,5)

print(x)

 

  輸出類似下面內容,則pytorch安裝成功

   

 

再執行torch..cuda.is_available()

如果返回True,GPU版Pytorch成功安裝完畢

 

  

 

 

 

 

 

下面是一些坑,可以不用看

  下面再說詳細步驟,以及自己踩過的坑:

  進入官網  https://pytorch.org/get-started/locally/

  

  在 Anaconda Prompt 里面運行下面自動生成的命令。

  

  正常情況下到這里就可以慢慢下載成功安裝了。

 

 

  但是問題就出在 “ 慢慢” 二字!

  因為官方源下載實在是太慢了!所以這里不得不考慮國內鏡像源,我這里選擇清華源(2020/5/29實測清華源可用,而且速度較快)。

  注:這里補充一下添加清華源的方法,命令如下,依次執行:

       conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

    conda config --set show_channel_urls yes

  然后執行安裝命令:

    conda install pytorch torchvision cudatoolkit=10.1  -c pytorch   ( 去掉后面的 -c pytorch 就是只使用清華源,不去掉就是官方源也可能會用到)

   (注: 刪除源的命令是  conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/    ) 

  

  下載中:

  

 

    如果使用官方的源,會很慢很慢,如果使用清華源,會顯示有些需要安裝的包沒有,比如 pytorch-1.5.0:(注:這里其實是一個坑,並不是沒有,后面有講到)

  

 

 

 

    使用 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch 命令,就會有些用官方源,有些用清華源。

  

   上圖中,因為我反復安裝了好幾次,所以顯示有些包已經安裝好了,有些包已經下載好了但還未安裝,有些包還需要下載。

  我的問題出現在 pytorch這個包,官方源下載速度太慢,清華源不知為啥沒有。

  我查了一下原因,是不是我應該再設置一個 pyTorch 鏡像:

  conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/

  我從網上找到的,不知道能不能解決問題,我先試一下:

  

  我再來安裝試一下:

  

 

 

   卧槽可以了!太開心了:

  

 

 

   開始下載,速度確實還可以:

   

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM