win10安裝VS2015+CUDA9.0與tensorflow-gpu

最小森林發表於2020-04-07

win10安裝VS2015+CUDA9.0與tensorflow-gpu

0 前言

實驗室與某車企合作自動駕駛相關的專案,我在其中負責道路車道線識別的工作。
真實駕駛視訊資料集由車企提供,資料量很大,為了訓練模型,導師給更新了主機:512G固態硬碟+32G記憶體+GTX1080顯示卡。體驗爽的一匹。

由於之前的電腦都是師兄配置的,現在他畢業了,只好我自己來配。本文主要參考大神“微調”知乎專欄文章;以及“大米飯蓋不住四喜丸子”CSDN部落格:

https://zhuanlan.zhihu.com/p/29841665
https://blog.csdn.net/weixin_36368407/article/details/54177380

在其基礎上,排除一些自己遇到的坑,把過程記錄下來。在開始之前想再次提醒大家,在Windows上安裝CUDA和TensorFlow有很多坑,對於各種軟體版本以及系統設定的要求可謂非常刁鑽,很容易就“誤入陷阱”。 我在其中就重灌了電腦一次,還好是新電腦 沒有啥資料。

1 準備工作

簡單的說,我們需要以下軟體包。安裝的過程要按照這個順序:

  • Windows 10
  • Python 3.6(anancanda5.2)
  • Visual Studio 2015
  • CUDA 9.0 (官網預設是10.0 不要用)
  • CuDnn 7.0

1.1 Windows 10

現在實驗室 基本上都是win10 了 ,必須適應~

1.2 Python 3.6(anancanda5.2)

習慣使用anancanda去管理python,相信我,絕對好用!!!!可以去清華大學的映象網站下載anaconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

注意下載與自己相同的版本,以及anaconda5.2對應的是 python3.6.6 版本。經測試可以完美使用tensorflow~

1.3 Visual Studio

由於英偉達cuda等程式需要編譯,要要使用Visual Studio C++ 的執行環境。

一定別裝2017!我因為這個重灌電腦了。。。都是淚

Visual Studio 2015的話現在最新的版本是Visual Studio 2015 with Update 3,去官網下載免費的Community版本即可。

但是,微軟為了推銷新版本,把舊版本藏的很深,我找了挺久才找到, 可以按照下圖提示去下載Community版本,登入一下即可。
地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

image

1.3 CUDA 9.0 (官網預設是10.0 不要用

TensorFlow官網上顯示支援的CUDA版本截止到今天(2018年10月8日)還是 CUDA 9.0。千萬要注意英偉達官網上的預設版本是CUDA 10.0,請不要下載安裝這個版本。

下載地址:https://developer.nvidia.com/cuda-toolkit-archive

網路比較好的朋友下載網路安裝版本。或者下載本地(local)版本。

我在此處遇到一個問題,下載本地版本時候 每次到99%的時候就中斷。。。 氣的一匹。最後還是在百度雲上找了個同名的檔案下載的。

[外鏈圖片轉存失敗(img-5TpvGwbZ-1566956927856)(http://i.imgur.com/oD083pk.jpg)]

[外鏈圖片轉存失敗(img-ToN5lIlH-1566956927857)(http://i.imgur.com/oD083pk.jpg)]

1.4 CuDnn 7.0

CuDnn 7.0 for CUDA9.0。這是可以使用的版本,下載時請對應的你的作業系統選擇合適的版本。

請特別注意下載CuDnn前必須註冊英偉達社群的會員,https://developer.nvidia.com/rdp/form/cudnn-download-survey,雖然說是英文的但非常簡單。(下載時必須登入,用微信可以很方便的登入)

正確的下載版本如下圖所示:

image

2 安裝過程 (建議使用管理員許可權賬號)

請儘量按照本文的安裝順序進行安裝,否則有可能執行失敗!最重要的是,安裝CUDA必須在安裝Visual Studio之後,這兩個順序不可以調換。

2.1 Anaconda下載安裝

Window下安裝非常簡單,直接執行安裝包下一步下一步就行,安裝過程會有選擇打鉤的地方,

  • 第一個是新增環境變數!!!!!
  • 第二個是把Anaconda下的Python設定為預設版本,這裡建議都勾選。!!!!!

[外鏈圖片轉存失敗(img-otBIAZJg-1566956927859)(http://i.imgur.com/qRZeZdC.jpg)]

安裝完成後,啟用Anaconda3環境,執行python -V

[外鏈圖片轉存失敗(img-pd8GRBij-1566956927860)(http://i.imgur.com/Xq1WyD1.png)]

2.2 安裝Visual Studio 2015

安裝VS2015沒什麼難度,只有一個選項需要自定義,別的選項都可以使用預設值。VS2015的預設安裝不包括“C+ +”的編譯器,必須手動勾選Visual C+ +,不然會面臨後續的CUDA編譯錯誤!!!

image

主要原因是VS2015在安裝時並沒有預設安裝C++的編譯器。

這裡真是服了必須吐槽:vs這個專門用來編寫C+ + 的編輯器,竟然預設不安裝C+ + ,簡直是神經病,害的我重灌電腦。

2.3安裝CUDA

安裝CUDA前請務必確認VS2015安裝成功!這個時候你需要安裝CUDA,雙擊我們下載的安裝檔案即可,一切都選擇預設即可。

image

安裝成功後會看到如下圖:

image

2.4. 驗證CUDA是否安裝成功:

2.4.1 nvcc -V

開啟命令列,也就是cmd然後輸入“nvcc -V”,如果安裝正確的話你應該看到這樣的輸出:

image

輸出中顯示了CUDA的版本是release 8.0。(別人的圖,我自己顯示9.0 懶得截圖了,知道就好)

2.4.2. 使用VS和CUDA編譯測試檔案

進入

“C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0”

資料夾,雙擊開啟 “Samples vs2015”這個檔案。

image

選擇編譯生成1_ Utilities中所有的檔案。

具體操作就是在1_ Utilities上右鍵選擇Build,注意上面紅框部分的64位和Release:

image

如果你沒有遇到編譯錯誤,那麼應該看到下圖提示5個檔案編譯成功:

image

在成功後,你會發現在“C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release”資料夾中出現了一堆檔案,我們主要需要deviceQuery和bandwidthTest。

如果你看到這兩個錯誤:

  • TRK0005: Failed to locate: “CL.exe”. The system cannot find the file specified.系統找不到CL.exe,無法編譯檔案。面對這個錯誤那就是你沒選Visual C++,需要重新安裝時選上這個元件。
  • MSB8036: Windows SDK 8.1 was not found.如果你同時看到了這個錯誤說你沒有安裝 Windows SDK 8.1,那也可以通過安裝C++ Redistribution這個來解決。
  • 如果你發現錯誤提示是無法找到 CUDA.prop那麼就是CUDA安裝錯誤,建議檢查CUDA版本重新安裝。

2.4.3. deviceQuery和bandwidthTest驗證

執行我們剛才編譯出來的deviceQuery.exe,也就是在cmd中執行這個檔案,下圖中左下的紅框顯示 result = pass代表安裝測試成功,右下的紅框是你的顯示卡型號請確認型號正確。Tesla K80只是我的這臺機器型號,這個每個人可能都不一樣。

image

執行我們剛才編譯出來的bandwidthTest.exe,方法一樣,也是關注是否result = PASS。

image

2.5. 安裝CuDnn

解壓縮我們下載的CuDnn檔案,得到3個資料夾:bin, include, lib。如下圖所示,將這個三個資料夾複製到“C:\ProgramData\NVIDIA GPU Computing Toolkit\v8.0”。

image

2.6. 確認系統環境變數(Environment Variables)

確認Python3.5.4.和Pip3在系統環境變數中,檢查的方法上面已經介紹了。

開啟系統環境變數設定,以Win10為例,請參考百度經驗介紹。

確認CUDA_PATH和CUDA_PATH_V8.0已經存在

手動新增 “C:\ProgramData\NVIDIA GPU Computing Toolkit\v8.0\bin”到Path裡面。

image

2.7. 安裝TensorFlow的GPU版本

開啟cmd,輸入“pip install tensorflow-gpu”

image

注意:

  • 如果你電腦中有python2這裡就必須輸入:pip3
  • 要安裝tensorflow-gpu,而不是tensorflow
  • 如果安裝失敗,很有可能你的Python版本不是3.5.,或者pip3版本太低,可以使用"pip3 install --upgrade pip3"來升級pip3

3. 第一個TensorFlow程式!

恭喜你,我們離勝利已經一步之遙了:) 讓我們來驗證我們安裝的TensorFlow可以使用GPU!

使用pycharm,輸入以下程式碼並執行:

import tensorflow as tf

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

print sess.run(c)

image

相關文章