一,、準(zhǔn)備工作參照官網(wǎng)上資料 ,,進(jìn)行準(zhǔn)備工作 1. 驗(yàn)證自己的電腦是否有一個(gè)可以支持CUDA的GPU $ lspci | grep -i nvidia 我的顯示為T(mén)esla P800 if it is listed in http://developer./cuda-gpus, your GPU is CUDA-capable 2.驗(yàn)證自己的Linux版本是否支持 CUDA:The CUDA Development Tools are only supported on some specific distributions of Linux. These are listed in the CUDA Toolkit release notes uname -m && cat /etc/*release 3. 驗(yàn)證系統(tǒng)是否安裝了gcc 在終端中輸入: $ gcc –v 4. 驗(yàn)證系統(tǒng)是否安裝了kernel header和 package development sudo apt-get install linux-headers-$(uname -r) 結(jié)果顯示:升級(jí)了 0 個(gè)軟件包,,新安裝了 0 個(gè)軟件包,要卸載 0 個(gè)軟件包,,有 x個(gè)軟件包未被升級(jí). 表示系統(tǒng)里已經(jīng)有了,,不用重復(fù)安裝。
二,、下載cuda并安裝(官網(wǎng)步驟)1.首先注意版本,!查看版本之間要求 https://www./install/source#linux gcc需要降級(jí)、cudnn需要7,,TensorFlow需要1.12.0 2.下載官網(wǎng)下載頁(yè)面上是最新的10.1版本,,在后面的過(guò)程中才發(fā)現(xiàn)TensorFlow可能還不支持,所以想下載低版本的cuda 下載舊版本的cuda地址,,本來(lái)想選擇cuda 9.* ,,但里面Ubuntu最高只支持17.10,我的是18.04,,所以只能選擇cuda 10.0 2.安裝:runfile形式安裝據(jù)說(shuō)錯(cuò)誤率更少1) 禁用 nouveau驅(qū)動(dòng) lsmod | grep nouveau 若無(wú)內(nèi)容輸出,,則禁用成功 我執(zhí)行以上操作后,還是有輸出,,reboot重啟后,,無(wú)輸出了。
2)執(zhí)行安裝腳本 sudo sh cuda_***_linux.run (你下載的runfile安裝包名字) 注意:先accept,,安裝項(xiàng)里不要選擇安裝驅(qū)動(dòng),,避免有坑,其他都yes 會(huì)提示: ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.忽略就行 可以看到軟連接已經(jīng)指向10.0版本了 3)設(shè)置環(huán)境變量 在主目錄下的~/.bashrc文件添加如下路徑
用su直接切換到root,,再執(zhí)行 source ~/.bashrc
4)檢測(cè)是否安裝成功 出現(xiàn)以下結(jié)果 博客里說(shuō)這個(gè)result為pass則為成功
時(shí)隔幾個(gè)月之后,,cuda又不能正常使用了 顯示是缺失driver(安裝的時(shí)候選了安,不知為何又bug了) 參照網(wǎng)上的安裝步驟 (1)方式1
報(bào)錯(cuò) (2)方式2 (3)方式3 只能嘗試手動(dòng)下載,,在https://www./Download/index.aspx官網(wǎng)選擇 下載之后 ,,會(huì)進(jìn)入交互界面 提示說(shuō)一句有410.48版本 但是再用sudo dpkg --list | grep nvi,查不到410.48,,用cat /proc/driver/nvidia/version,,也是無(wú)此文件 交互過(guò)程中提示內(nèi)核版本之類的問(wèn)題,也是無(wú)疾而終 (4)方式4:重裝,,并選擇install driver 發(fā)現(xiàn)這次報(bào)錯(cuò)了,,顯示missing recommended library,可由此篇博客解決,但解決之后對(duì)驅(qū)動(dòng)沒(méi)有太大影響 在nvidia安裝日志(/tmp/cuda_install_2971.log)里發(fā)現(xiàn)是dkms的問(wèn)題 又尋根到/var/lib/dkms/nvidia/... 找到error:unrecognized command line option 'fstack-protector-strong' gcc之前是4.8.5問(wèn)題,我升級(jí)到5.5.0,,再重新安裝 剛剛dkms的問(wèn)題沒(méi)有了,,甚至執(zhí)行王同學(xué)的代碼都能OK 但存在另一個(gè)問(wèn)題
(有人說(shuō)這個(gè)問(wèn)題不重要) 那難道是沒(méi)有卸載之前版本的問(wèn)題嗎? sudo apt-get purge nvidia* 一狠心就執(zhí)行,,全部刪掉,,然后重新sh .run文件 還是不行。,。,。。重裝機(jī)器吧,。,。。 三,、安裝cudnn下載地址,,需要自行注冊(cè),然后選擇cuda10.0的對(duì)應(yīng)版本,,cudnn 7.4.1 解壓縮:tar -xzvf cudnn-9.0-linux-x64-v7.tgz
查看cudnn版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 如果出現(xiàn)所示版本信息,,說(shuō)明安裝成功。
四,、安裝TensorFlow-GPU版本查看python3對(duì)應(yīng)的TensorFlow安裝版本,,發(fā)現(xiàn)cpu與gpu并存 1.嘗試安裝對(duì)應(yīng)gpu版本pip3 install tensorflow-gpu==1.13.1 結(jié)果import的時(shí)候報(bào)錯(cuò) 查了下原因,應(yīng)該是前面設(shè)置的環(huán)境變量沒(méi)有生效,,參考博客 (1)臨時(shí)解決方法1(下次登錄失效) 在終端執(zhí)行前面的的export操作,,發(fā)現(xiàn)終于能正常運(yùn)行 (2)臨時(shí)解決方法2
2.判斷運(yùn)行的TensorFlow是cpu還是gpu
可以看到輸出信息都是關(guān)于GPU的,說(shuō)明TensorFlow-GPU版本正常工作了 |
|