張小白GPU安裝MindSpore給你看(Ubuntu 18.04.5)
在張小白嘗試了 Windows CPU版本(PIP安裝),Ubuntu CPU版本(PIP安裝,源碼安裝)之后(參見 《張小白帶你快速體驗MindSpore V1.0(For ubuntu 18.04)》?https://bbs.huaweicloud.com/blogs/198324?和 《張小白教你如何在Ubuntu 18.04上源碼安裝MindSpore V1.0》?https://bbs.huaweicloud.com/blogs/198349?),GPU的安裝也納入了議事日程。
畢竟Ascend910不是窮逼的張小白能買得起的。但是Nvidia的過氣GPU,張小白倒是有好幾塊(臺式機一塊,筆記本一塊)
不過根據張小白的分析,想用Windows安裝GPU版本的MindSpore V1.0貌似是不可能的了。因為根本沒有這個選項。所以張小寶就動起了自己筆記本的歪腦筋。自己的筆記本不有個Nvidia顯卡嗎?那就試試唄。。沒想到就此躺坑。。。
先把硬件環境介紹一下:
CPU:Intel Core i7-8750H @2.20GHz 六核
內存:64G DDR4 2666
硬盤:Crucial MX500 250G SSD(2.5寸SATA)
顯卡:Nvidia Quardo P1000(4G)
慣例,看?http://mindspore.cn/install
GPU只能選擇Ubuntu操作系統。只能選擇Python 3.7.5 (后面還會發現,只能選擇CUDA 10.1。。。這是后話,暫且不提)
那么,第一步,就是先裝Ubuntu 18.04操作系統。。。Nonono,第一步是先拆機,換硬盤好吧。。。
打開筆記本背板:
1個SATA硬盤(圖中銀色部分)和2個NVME硬盤(圖中黑色條擋住的部分)映入眼簾。
因為怕安裝雙系統會導致系統啟動出問題,張小白果斷選擇了拔掉所有的硬盤。然后裝上這塊久違了的SSD 250G硬盤。。
然后,使用臺式機的360軟件管家,安裝了UltraIso:
并從ubuntu網站下載了 18.04.1的iso文件。(就是安裝前面CPU版本的iso)
找到一個久違了的4GU盤。
然后,使用UltraISO制作啟動U盤:
點擊,啟動-》制作硬盤鏡像。。。
然后,將U盤插入筆記本電腦。
加點,啟動。
開機進入ubuntu的GRUB界面:
仔細看看:
點擊 Install Ubuntu...
原來以為一切會很美好。。。系統出現個畫面:(映出張小白的頭影)
第一個坑不期而至:
剛開機就Crash了。啥也沒裝。。。
趕緊度娘搜尋。原來Ubuntu和Nvidia好像天然就有矛盾。。。因為Ubuntu開機是內置了一個開源的顯卡驅動nouveau,而Nvidia天生跟這個顯卡驅動沖突,所以應該先把這個nouveau顯卡驅動刪除,然后再裝上Nvidia的驅動,然后才能正常安裝Ubuntu系統。
有說這樣做的:
還有說修改為 acpi=off 之類的。張小白都一一試過了。好像通通不行。。
要么給這個錯:
要么給那個錯:
總之,都進不了安裝ubuntu的界面。
張小白都快急死了。。。直到看到網上一位大大的一句話:
先裝 ubuntu server的版本,等把顯卡驅動搞定后,再去裝desktop桌面。。。
這句話簡直就是明燈了。。(不是老羅的“行業冥燈”的那個冥。。)
張小白也是覺得這樣是個出路。
二話不說,趕緊去Ubuntu官網下載 ubuntu 18.04的桌面版鏡像?ubuntu-18.04.5-live-server-amd64.iso
并用UltraIso制作這個iso文件的U盤啟動盤(參數跟前面的一樣)。
然后啟動。。。。果然,不使用圖形界面,是完全可以安裝下去的。。
截幾張中間安裝的圖:
選擇硬盤配置:
分區:
主機名:gpu
用戶名:ascend
密碼:***
附加軟件:先不裝。。
慢慢等待安裝完畢:
重啟后,可以正常用命令行登錄了:
忘記說了,筆記本是提前接上網線的:
然后,查資料,說Nvidia的顯卡管理程序是nautilus..
運行的時候發現沒裝,那就裝上吧。。。
繼續:
居然發現要裝那么多依賴,而且是從ubuntu.com裝。。。那得多慢。。
確實,每次裝完ubuntu第一件事情,就應該換apt源。。。
趕緊修改 sources.list文件
然后更新源:
apt update
apt-get update
apt-get install aptitude
順便檢查下 預置的Python版本:3.6.9. 看來還是得源碼安裝Python 3.7.5啊(不過安裝視頻上用了conda創建,不過既然張小白已經有了源碼安裝的經驗,那也沒必要用conda了。。)
這里一定要不能轉移目標,而是要想到當前的關鍵任務是:卸載開源顯卡驅動,安裝Nvidia顯卡驅動。。其他的事情都是可以先放手的。。。這個最重要。
根據上圖的做法,先禁用nouveau吧。。。
更新系統
重啟。。。
再來裝一次nautilus..
等待安裝完畢:
添加PPA源:
add-apt-repository ppa:graphics-drivers/ppa
與此同時,需要到Nvidia官網下載對應的顯卡驅動:NVIDIA-Linux-X86_64-450.80.02.run
每個人的顯卡不一樣,張小白是這么搜索的。。
確認是支持P1000的顯卡:
將這個文件拷貝到U盤(前面的U盤已經安裝完畢,可以重新格式化后再拷貝。。。)
將U盤mount到/mnt目錄,并將 該安裝包拷貝到/root目錄下。然后 umount U盤。。
按照以下方法,先刪除nvidia的原有驅動。。
apt-get remove nvidia-*
然后試著運行run。。。
./NVIDIA-Linux-x86_64-450.80.02.run -no-x-check -no-nouveau-check -no-opengl-files
(以上的參數都填上吧。。)
發現gcc,g++,make都沒裝。。
那就趕緊裝吧:
apt-get install gcc
apt-get install g++
apt-get install make
再運行Nvidia的那個run。。。,終于跑了起來。。。
會進入圖形界面:
然后會有幾個提示:
可以按實際情況點擊即可繼續。。。
直到最后安裝完畢:
然后可以激活并查看狀態:
modprobe nvidia
nvidia-smi
從上面的參數可以看出,顯卡驅動是 450.80.02版本,CUDA的版本是11.0. 顯卡類型為 Quadro P1000。內存4040M(也就是4G顯存)。張小白發現CUDA的版本11.0跟此次安裝需要的CUDA版本10.1不一致。就很擔心又出現版本不一致的問題。但是以后查了下資料,發現 nvidia-smi顯示的CUDA 11.0跟 后面需要的CUDA貌似不是一回事。
這樣看來,原來的開源顯卡已屏蔽,合適的Nvidia驅動也已經裝上。應該是時候安裝ubuntu-desktop了。。。
apt-get install ubuntu-desktop
(這筆記本真容易落灰。。。)
等待直到安裝完畢。。。
apt-get install lightdm
會進入圖形界面,讓張小白選擇缺省的顯示管理器。。。這時,可以選擇任何一個。。
感覺應該快裝完了。。。
重啟系統
sync
sync
reboot
結果停留在這個界面:
怎么也進不了Ubuntu的圖形登錄界面。。。
張小白又去搜索,為啥Ubuntu 18.04啟動后無法進入桌面。。
比如這個
。。。
說要修改grub文件并且更新grub
照此辦理,折騰了好幾下。。包括重啟。。
終于有圖形界面出來了。。。登錄進去。。。看到了原來在虛擬機中熟悉的紅色桌面。。。
這說明,萬里長征的第一步算是圓滿完成了。。。
在桌面打開firefox瀏覽器,打開?http://mindspore.cn/install?,選擇這次的安裝方式,并在打開的窗口中輸入 nvidia-smi
是的,CUDA不一樣的問題暴露出來了。
先裝Python 3.7.5吧。。。
這個張小白熟悉得不能再熟悉了。。。記得編譯成動態庫。。
下載源碼包:
解壓后先 安裝一些依賴:
等待依賴安裝完畢...
configure...(注意看最下面的行——編譯參數不能錯。。。)
make。。。
make install后 再做一些配置上的修改(/etc/profile)——可參見《張小白教你如何在Ubuntu 18.04上源碼安裝MindSpore V1.0》?https://bbs.huaweicloud.com/blogs/198349?)——增加 PATH(/usr/python3/bin)和LD_LIBRARY_PATH(/usr/python3/lib)
然后檢查python3是否可以正常運行。。。
結果證明是可以的。
下面可以先裝一些pip的依賴。。。(當然,也可以不裝,而是在裝mindspore的whl文件時再在線裝。。)不過自行裝有個好處,就是可以自己先指定好pip源。。。
像下面Pillow這個忘記指定了,下載速度還是有點慢的。。。
但是下面這個指定了,速度非常快:
等待裝完。。
繼續裝其他依賴numpy。。
以及opencv-python
好了,pip的依賴好像就上面那么多了。
張小白再檢查下其他的系統依賴。。
看上面箭頭部分的就可以了。
包含Python 3.7.5, CUDA 10.1 , CuDNN>=7.5 gmp 6.1.2
另外兩個可選的自然是可以不裝的。(而且張小白就一個GPU,也沒有多卡。。)
那么先搞定gmp 6.1.2吧。。還記得在源碼安裝CPU版本時,也裝過gmp的,但是當時gmp的版本沒那么高。
那就開始吧。。
到gnu的網站找gmp源碼位置:
找到6.1.2的版本后復制鏈接。。然后在終端使用wget下載。。
下載完畢后例行 configure,make和make install
gmp搞定。
下面來裝CUDA:
點擊mindspore安裝鏈接中 CUDA對應的鏈接?https://developer.nvidia.com/cuda-10.1-download-archive-base
按以下圖示選好相關的配置:
這個方式跟MindSpore的安裝方式非常像。。。是不是互相借鑒的。。。。張小白不懷好意的想。。。
別想了。點擊右邊的Download。。。(有2.4的G的文件要下載呢。。)
張小白是在ubuntu的firefox里面點擊這些的。當然,也可以現在其他電腦下載好了,再通過前面的方式用U盤傳進來。。可能使用windows的瀏覽器會快一點。誰知道呢。。。
當然,第一次下載的時候,Nvidia會提示張小白去注冊個 Nvidia開發者的賬戶。。。
選擇 Join Now,然后用有效的郵箱注冊就可以了。163的郵箱就可以。
然后去驗證下自己的郵箱
cuDNN也如法炮制:
點擊 http://mindspore.cn/install 提供的鏈接,張小白先選擇了 8.0.3 for CUDA 10.1的版本。mindspore官網要求的是??cuDNN?>= 7.6。。?張小白想 8.0.3>7.6,應該是可以的。
同樣點擊后下載。。。
這個時間比較長,張小白需要等待將近3G的2個文件下載完畢。。。
這個時候,可以先把mindspore的gpu版本的whl下載下來。
打開?https://www.mindspore.cn/versions?地址
復制GPU對應的鏈接
在終端中做wget
耐心地等待三個文件下完。。
根據提示,再做一些準備補充的準備工作:
如 apt-get install linuix-headers-$(uname -r)
好了,開始裝CUDA 10.1吧。。
進入界面:
輸入accept,回車。。
在彈出的界面中,只選 CUDA ToolKit 10.1 ,其他統統不選。
點擊上圖中的install(有點看不清,就是白色的那個塊塊)
裝完后,系統會提示要修改PATH和LD_LIBRARY_PATH.這個在安裝Python 3.7.5的時候張小白就已經駕輕就熟了。。
按照上圖,修改 /etc/profile 并執行 source /etc/profile 讓當前終端生效。
然后解壓CuDNN包
將CuDNN解壓后的include和lib64下的文件分別拷貝到 /usr/local/cuda-10.1/的 include和lib64目錄下去。。
終于可以安裝mindspore的gpu版本了。。。
耐心等待安裝結束。。
有的已經滿足了(前面裝過了)。。。有的還沒有(比如scipy居然不對。。)
仔細看了一下,是缺省scipy安裝了 1.5.2的版本,但是mindspore要求1.3.3的版本。所以mindspore卸載了 1.5.2的版本,重新拉了1.3.3的版本。。早知道前面張小白直接裝scipy==1.3.3了。還好。一個安裝包,不大不要緊。
安裝完畢了,可以試驗一下了。。
根據官網提示,驗證gpu的方式跟驗證cpu的略有不同。
官網提供了這么一個腳本:
張小白將這段腳本貼進去,保存為 test.py文件。
然后執行 python3 test.py
額,,importError了。。。
他要找libcudnn.so.7,而看看上面截圖,張小白安裝的是libcudnn.so.8... 原來,還是不能太相信 大于這回事。。
讓我們回憶一下前面張小白怎么說的。。
顯然8是不可以的。看來得重新下載7的版本了。
重新進入CuDNN的下載界面
選擇 7.6.5 for CUDA 10.1 以及 cuDNN Library for Linux
同樣的方式下載完畢。。。解壓完畢。。
然后再同樣的方式將 include和lib64目錄拷貝到cuda的相應目錄下。
這個時候,張小白發現,原來 /usr/local/cuda和/usr/local/cuda-10.1是一個目錄,所以拷貝也可以簡單寫了。。
當然,/etc/profile也可以簡單寫了。
好了,這回讓張小白來驗證吧。。
總算驗證通過了。
最后發一張收尾的工作圖吧。。
看來,裝一個GPU的Mindspore V1.0版本也確實不容易啊。。。好在張小白踩坑習慣了,遇到問題也沒那么緊張了。想來,下一個坑,張小白仍然會遇到,但是張小白就像張小強一樣,是打不倒的。。。
(全文完,謝謝閱讀)
AI平臺 EI企業智能 昇騰
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。