ubuntu筆記本外置顯卡開展深度學習


[原創文章,若有參考請引用]
長期以來,深度學習研究都依賴於臺式機+高性能顯卡的配置,需要大量計算資源的深度學習實驗,對於需要移動辦公或追求極致辦公體驗的人羣或喜歡使用筆記本開展研究的人羣不是十分友好,如何利用筆記本開展深度學習實驗呢?
很早以前,喜歡打遊戲的發燒友們腦洞大開給硬件弱雞的mac配備eGPU,並且體驗十分不錯。而促進性能提升的技術支持,在於雷電系列接口的發展,目前雷電3接口全速狀態下可以達到40Gb/s的傳輸速率,因而使用外接顯卡塢可以基本滿足開展深度學習程序中數據交換的需要。英文研究社區發起了eGPU.io,可供學習者相互討論,但中文社區關於這方面的討論極少,而討論ubuntu系統+外置顯卡進行深度學習的更是極少極少。
筆者以帶有全速雷電3接口的雷蛇靈刃15標準版爲依託,藉助雷蛇幻彩顯卡塢、華碩XG Station顯卡塢驅動RTX2080Ti、RTX2070均實現了基於ubuntu18.04LTS的深度學習環境配置。其實通過外置顯卡進行深度學習環境配置本身並不難,關鍵在於動手實踐:
(1)實踐之前,我們需要購置一臺筆記本,推薦型號包括dell xps15 (9570就行,有錢可以購買9575)、雷蛇靈刃14或15或者其他帶有全速!全速!全速!雷電3接口的筆記本電腦(一定要問清楚是全速還是半速雷電3接口)。至於顯卡塢的話華碩、雷蛇的都行,其他系列亦可以嘗試一下,但商家都會告訴你不支持linux,不要害怕,不要相信這些所謂技術顧問或客服的水平!買過來就對了,因爲ubuntu16.04LTS、18.04LTS均帶有豐富的驅動,包括雷電接口驅動,能夠輕鬆識別雷電接口設備。
(2)給筆記本電腦安裝Ubuntu18.04LTS雙系統,雷蛇客服和網絡噴子表示雷蛇裝不了ubuntu,但筆者在失敗3次之後找到了問題的關鍵,參照下列注意事項可以輕鬆在雷蛇筆記本上安裝ubuntu。
(3)在ubuntu系統上配置深度學習環境。首先是Nvidia驅動,如果筆記本自帶獨立顯卡,而顯卡型號又和外置顯卡型號不同,那麼此時一定要選擇一個同時支持內外獨立顯卡的驅動,具體參照後文。
(4)此後的CUDA多版本安裝、Anaconda3安裝、conda創建多虛擬環境並安裝pytorch-gpu、tensorflow-gpu就與普通情況一致了。

1. 軟硬件準備

1.1 硬件配置

筆記本電腦型號:雷蛇靈刃15標準版(自帶RTX1060獨顯)
顯卡塢:雷蛇幻彩X(嘗試了華碩XG Station顯卡塢亦可,雷電3接口的顯卡塢均可嘗試,但不同顯卡塢支持不同獨立顯卡)
外置顯卡:RTX2080Ti(結合雷蛇幻彩X)、RTX2070(結合華碩XG Station)
整體安裝效果上圖中,左側爲華碩XG Station, 右側圍雷蛇幻彩X顯卡塢,安裝成功後運行nvidia-smi命令會有如下結果:
在這裏插入圖片描述
同樣地,在X Server Settings菜單內也可以查看GPU0和GPU1的詳細信息。
在這裏插入圖片描述

1.2 系統

win10專業版+ubuntu18.04LTS
ubuntu18.04LTS是最新的長期支持版本,自帶雷電驅動,可以自動地識別外置顯卡,支持即插即拔,十分方便。
在這裏插入圖片描述

2. 具體步驟

2.1 給雷蛇筆記本安裝ubuntu18.04LTS

使用Rufus製作啓動盤
如果是雷蛇筆記本的話,一定一定一定一定一定一定一定要在win10系統的那個盤壓縮一部分空白內存用於掛載到 \boot,不然無法安裝成功

2.2 設置啓動項

在win10安裝easyBCD可以輕鬆設置每一次啓動的首選項是ubuntu

2.3 在ubuntu上配置環境

  1. 雷電3接口連接筆記本與顯卡塢
  2. 開機
  3. 安裝nvidia驅動,這步是關鍵哦,輸入 lspci |grep -i vga,會出現如下信息:
    在這裏插入圖片描述
    以筆者電腦爲例,有1060與2080Ti雙獨立顯卡,那麼需要選擇同時支持二者的nvidia驅動,一定要去nvidia官網查詢,然後安裝
  4. 安裝cuda9.0、cuda10.1(你也可以只安裝1個,cuda版本切換請參考:https://blog.csdn.net/qq_23996885/article/details/90205937)
  5. 安裝anaconda3,去官網
  6. pytorch,安裝0.3版本+1.x版本即可滿足絕大部分需要,通過conda安裝pytorch-gpu0.3.1版本,請參考https://ptorch.com/news/145.html
    安裝pytorch-gpu1.x版本:https://pytorch.org/get-started/previous-versions/
    安裝tensorflow-gpu
  7. 檢驗
    使用conda activate torch110激活pytorch1.1.0虛擬環境,運行python,import torch,然後
    通過torch.__version__查看版本信息
    torch.cuda.is_available()查看是否可用gpu
    torch.cuda.device_count()得到可用gpu個數
    torch.cuda.get_device_name(0)、torch.cuda.get_device_name(1)分別獲取gpu名字,
    通過下圖結果可以發現pytorch將性能強悍的外置顯卡2080Ti作爲0號顯卡優先使用。
    在這裏插入圖片描述

附件

conda虛擬環境創建、複製、刪除、切換

複製base創建新的環境
創建、激活、退出、刪除虛擬環境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章