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创建新的环境
创建、激活、退出、删除虚拟环境

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