爲深度學習所用,博主預想在Ubuntu16.04上安裝 顯卡驅動 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm,參考了衆多資料,最終成功將所有軟件安裝完畢,且能成功運行使用。該篇博客介紹了CUDA的安裝教程(默認已安裝顯卡驅動),亦可通過下方鏈接查看其他步驟的安裝教程。
安裝 CUDA(附測試)
安裝 Tensorflow-gpu 與 Keras(附測試)
安裝 CUDA
安裝CUDA之前,需要查看電腦中的某些配置,確保滿足條件,能夠成功安裝CUDA使用,該部分的配置要求在CUDA官網中有提供相關文件,但由於不同版本的CUDA需求的配置並不相同,只有在CUDA官網選定下載的軟件包後,纔會提供對應版本的安裝手冊,其中便有提供環境配置的需求表格
CUDA不同版本的安裝流程沒有差別,只是在一些界面和語言表述方面有細微不同,但不影響安裝使用,若對本教程中的某些步驟存有疑惑,可參考官方給出的安裝手冊
1、下載CUDA軟件包
在CUDA官網選擇需要下載的CUDA軟件包,注意軟件包的版本,點擊軟件包的名稱即可進入對應下載頁面,官網網址:CUDA Toolkit Archive
選擇軟件包的安裝平臺信息,注意最後的 Installer Type 請選擇 runfile,據說以該方式下載,成功率較大,若某一版本的CUDA沒有你需要的安裝平臺可供選擇,可以換一版本使用
安裝平臺信息選擇完畢後,會出現對應的下載按鈕,先不將其軟件包下載至本地,找到下載信息的下方,會有一段小字,其中的 Installation Guide for Linux 是CUDA官網爲該版本的CUDA提供的安裝手冊,將其打開,查看所需的環境配置(圖中提供的是9.0版本的環境配置)
在終端使用以下命令查看本地Linux系統的版本信息:
uname -m && cat /etc/*release
查看Kernel信息:
uname -r
查看GCC信息:
gcc --version
查看GLIBC信息:
ldd --version
若CUDA的環境配置符合要求,即可下載對應的軟件包,若某配置不符合要求,可以換一版本的CUDA下載,或是查看官方安裝手冊,解決問題
下載CUDA軟件包,可能出現兩種形式,一種直接提供了 Download 按鈕以供下載,另一種僅提供了兩行命令進行下載
若是提供了 Download 按鈕,可直接下載,保存到自己能夠找到的位置,若是提供了兩行命令,則需打開Ubuntu系統的文件管理器(下圖爲Ubuntu系統的文件管理器可執行圖標),選擇你想保存文件的位置,在該位置鼠標右鍵打開終端,輸入整行的 wget 命令,下載軟件包,而另一條安裝命令先暫時忽略它
成功下載好CUDA軟件包後,需要檢查其序列和,保證該軟件包下載正確,使用以下命令可檢查其序列和,若無報錯,則該軟件包可用,若報錯,則需重新下載該軟件包(其中 xxx 是你所下的軟件包的名稱補充位)
md5sum cuda_xxx.run
2、安裝CUDA
該步驟需要脫離圖形界面,使用命令行界面安裝CUDA,因此,建議將該教程轉移至智能手機或平板中查看,以防步驟錯誤,導致安裝失敗
爲了命令行界面的安裝方便,建議將下載的CUDA軟件包,即 .run 文件移動到 “Home” 所在,如下圖所示的位置,或是記住該軟件包根目錄起始的路徑,同時可將該軟件包更名,以便記憶輸入
若設有自動登錄的用戶,請先關閉自動登錄,可在 系統設置–>用戶賬戶 中關閉,而後重啓電腦,在需要輸入密碼的登錄界面中,鍵入 Ctrl + Alt + F1 ,進入命令行界面,不要直接輸入密碼登錄圖形界面,若登入圖形界面,請重啓電腦在登錄界面進入命令行界面
進入命令行界面後,根據提示,輸入用戶名與密碼,登錄用戶,而後根據以下步驟完成CUDA的安裝:
(1)關閉圖形化界面
sudo service lightdm stop
(2)執行安裝命令,若將CUDA軟件包移動至 “Home” 所在,則無需添加軟件包路徑,直接輸入安裝命令即可,若未移動軟件包,則需添加該軟件包所在路徑(其中 xxx 是CUDA軟件包的名稱,添加路徑需要在名稱前添加,例如 sudo sh /home/wjh/xxx.run )
sudo sh xxx.run
(3)按照提示安裝CUDA,不同版本的CUDA安裝的提示可能不同,注意以下幾點,基本能夠成功安裝:
某些版本會在安裝之前顯示一堆的服務條款,此時按回車可繼續服務條款的閱讀,請注意服務條款結束的時機,防止回車默認安裝的輸入
請注意安裝提示要求的輸入,可能提示輸入 accept ,可能提示輸入 yes 等,一定要看清輸入的要求
某些版本的CUDA會詢問安裝的內容,因本教程已安裝顯卡驅動,若詢問是否安裝 Driver(驅動) 或是 openGL ,一定一定一定要選擇 no ,某些版本在安裝之前提供了安裝選項,而不是一步步地詢問安裝內容,在選擇的時候一定不要選擇安裝 Driver(驅動) 或是 openGL
CUDA的安裝過程會詢問某一內容安裝的位置,可根據提示,回車默認安裝位置,或是自行輸入安裝的位置
若CUDA安裝成功,在最後會提示 successed 或 installed ,若安裝失敗,則會提示 failed ,通常在每一安裝內容之後,都會有對應的提示,若其中有某一內容提示安裝失敗,此CUDA都無法使用,此時可根據安裝最後顯示的卸載命令,在命令行界面中將CUDA卸載重裝
(4)安裝成功後,重新啓動圖形化界面
sudo service lightdm start
(5)若輸入以上命令沒有跳轉圖形化界面,則鍵入 Ctrl + Alt + F7 手動返回圖形化界面,而後輸入用戶密碼,登錄用戶,若成功進入桌面,則CUDA安裝成功,若循環停留在用戶登錄界面,請重新進入命令行界面,將安裝的CUDA卸載重裝
3、設置環境變量
(1).bashrc 文件設置
在終端輸入以下命令,打開 .bashrc 文件
sudo vim ~/.bashrc
在 .bashrc 文件末尾添加以下內容,若是安裝CUDA時安裝位置都設爲默認,則路徑不變,否則需要根據自己的情況修改路徑
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
以上的export內容是博主查看他人博客添加的,事實上添加以上的內容還存有一定的錯誤,博主最終的 .bashrc 文件內容如下:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
配置生效
source ~/.bashrc
(2)/etc/profile 文件設置
在終端輸入以下命令,打開 /etc/profile 文件
sudo gedit /etc/profile
在 /etc/profile 文件末尾添加以下內容,若是安裝CUDA時安裝位置都設爲默認,則路徑不變,否則需要根據自己的情況修改路徑,其中 cuda-9.0 需要根據自己的文件名進行修改
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
輸入完畢,保存文件,關閉文件後重啓電腦
4、測試CUDA
查看CUDA
nvcc --version
CUDA安裝完畢後,自帶有用於測試的例子,默認存放於 “Home”
進入該Samples文件,鼠標右鍵打開終端,向終端輸入以下命令,編譯測試代碼
make
若編譯成功,會提示 Finished building CUDA samples
編譯完成後,在終端輸入以下命令,進入Samples中的 bin/x86_64/linux/release 文件夾
cd bin/x86_64/linux/release
而後執行編譯好的可執行文件
./deviceQuery
若最終結果爲 PASS ,則說明測試成功
同樣,繼續向終端輸入以下命令
./bandwidthTest
若最後結果爲 PASS ,則說明測試成功