Macbook pro外接显卡实现深度学习
耗时一整天加一晚上终于成功了安装配置外接GPU并运行深度学习案列
故事的缘由
2017年底鬼使神差的买了个macbook,放在家里吃了一年灰,心想还是要用起来啊。目前主要从事数据挖掘机器学习的工作,需要搞搞深度学习,于是上网查攻略,如何使用mac连接GPU进行深度学习,最后查到的方案是使用游戏盒子AORUS GTX 1070 GAMING BOX来连接。但是很多攻略使用的系统都是10.12的,10.13.1的极少,再加上京东下面的各种差评,抱着忐忑的心情去京东买了一个,拿回来心就凉了半截,这包装像是被退货的东西,包装有磨碎,还好打开里面,外壳没有磨损,螺丝口也没有,应该没被人拆过,那我就姑且试试吧。之前问了京东客服苹果设备必须要外接显示器才可使用,又去搞了台显示器。好了,硬件设备准备好了,开始头疼的安装工作。
配置
- 硬件
我的系统版本
macOS版本10.13.1
GPU:AORUS GTX 1070 GAMING BOX
- 软件
WebDriver-378.10.10.10.20.109.pkg
NVIDIAEGPUSupport :NVDAEGPUSupport-v2.pkg
Python 3.7
Xcode Version 8.3.1
CudaToolkit: cuda_9.1.128_mac
CUDNN: cudnn-9.1-osx-x64-v7-ga.tar
组装机诡异事件
由于macbook pro 13寸 2017款支持雷电3接口,买的游戏盒子也是雷电3接口的,按照说明书连好各种线,显卡的DVI接口接外接显示器,显卡的雷点3接口接mac,显卡插上电源同时又可以给笔记本充电,免除了再接电源线的烦恼。但是诡异的事情来了,电脑开机以后要识别显卡必须拔掉显卡的电源线,仅仅是不连接mac都是不行的,必须拔掉显卡电源线!!!在登录界面再连接好显卡的电源线和雷电3的线。之后输入mac密码登录进系统。而关机的时候不拔掉显卡,电脑关机后会重启,有时还会让电脑绿屏,甚是诡异。在显卡驱动安装好以后,显卡的正常状态是彩灯会亮起(如下图),后面的两个小风散会转动,没有装好驱动的时候灯是不会点亮的。下面开始安装显卡驱动和各种软件。
显卡驱动安装
- 安装WebDriver:
https://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-december-7-2018/
在该网页上下载10.13.1对应的的版本,我下载的是109版本的webdriver
打开安装包进行安装
- 关闭sip
重启电脑,黑屏时候长按 command+R进入恢复模式,选择命令行工具,输入csrutil disable 这样就关闭了sip
- 安装eGPUSupport:
同样在该网址找到10.13.1对应的驱动下载并安装
https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for-high-sierra/
注意:安装两个软件,在安装的注意在安全与隐私处选择允许安装
安装好两个软件后,关闭电脑,黑屏时拔掉显卡电源和连接电脑的线,开机之后在登录窗口出现时连接上显卡的电源,再连接上mac,同时保持外接显示器电源打开状态,如果不打开外接显示器,mac输入密码后会一直卡在登录界面。登录后看到系统报告里多一张显卡(如下图所示),那么就表明已经成功外接显卡。
下面开始搭建深度学习环境,来条分割线
XCode安装
下载链接如下,需要先进行注册登录,我下载的是8.3.1版本,链接地址:
https://developer.apple.com/download/more/
下载以后按照向导进行安装
CUDA和CUDNN安装
- cuda Toolkit安装
英伟达显卡做深度学习需要cuda和cudnn的支持,先安装cuda Toolkit,下载地址:https://developer.nvidia.com/cuda-toolkit-archive
我这里使用的是9.1版本,
安装好之后,配置 CUDA 环境,打开终端,编辑 ~/.bash_profile 文件
vi ~/.bash_profile
添加环境变量
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME/extras/CUPTI/lib"
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
export PATH=$DYLD_LIBRARY_PATH:$PATH
export flags="--config=cuda --config=opt"
重启bash_profile
. ~/.bash_profile
检测CUDA能否正常运行:
cd /usr/local/cuda/samples
sudo make -C 1_Utlities/deviceQuery
./bin/x86_64/darwin/release/deviceQuery
如果最后显示 Result = PASS,那么CUDA就工作正常
- cuDNN下载
下载cudnn需要先进行注册,打开链接找到对应的cuDNN进行安装,我这里选择的是7.0版本。
https://developer.nvidia.com/rdp/cudnn-download
下好后直接把cudnn压缩包放到这下面/Developer,这是在安装CUDA的时候他就帮你建好的一个路径。
sudo mv 自己的路径/cudnn-9.1-osx-x64-v7-ga.tar /Developer/
然后解压缩包
sudo tar xvf cudnn-9.1-osx-x64-v7-ga.tar
cudnn与cuda合并
sudo mv /Developer/cuda/include/cudnn.h /Developer/NVIDIA/CUDA-9.1/include/
sudo mv /Developer/cuda/lib/libcudnn* /Developer/NVIDIA/CUDA-9.1/lib/
sudo ln -s /Developer/NVIDIA/CUDA-9.1/include/* /usr/local/cuda/include/
sudo ln -s /Developer/NVIDIA/CUDA-9.1/lib/* /usr/local/cuda/lib/
确认/Developer/NVIDIA/CUDA-9.1/lib和include文件夹中能看见cudnn中的文件则合并成功了
tensorflow安装
- 建立python虚拟环境
首先安装Anoconda,可以直接下载安装,具体安装步骤不再赘述。
https://www.anaconda.com/download/#macos
- 创建python虚拟环境
这里选用的是python3.7版本,虚拟环境命名为tensorflow-gpu,python使用3.7版本,打开命令行工具输入
conda create -n tensorflow-gpu python=3.7
- 下载编译好的tensorflow
由于tenserflow 1.1以后就没有支持macos了,所以上网找到编译好的tenserflow gpu版本 ,下载红框中的whl
https://github.com/TomHeaven/tensorflow-osx-build/releases
可以看见红框中的版本正是需要cuda 9和cudnn7
下载解压安装红框的的版本
unzip tensorflow.whl.zip
pip install tensorflow*.whl
好了tensorflow安装完了,安装过程中需要注意版本的匹配问题,如果版本cuda和cudnn版本不匹配,则tensorflow在run的时候可能会卡死。
算力提升效果
上图使用CPU
上图使用GPU
使用GPU以后基本上有20倍的加速
测试代码是《tensorflow实战》中提供的源码:
www.broadview.com.cn/30912
使用的是6_1_AlexNet.py的代码,IDE用的pycharm,注意在使用GPU的时候需要选择虚拟环境为tensorflow-gpu 的解释器,并且在函数run_benchmark中添加两行,否则会报内存不够的错误。
参考文章:
https://blog.csdn.net/hanlin_tan/article/details/78345204
https://blog.csdn.net/wz22881916/article/details/78807993/
https://blog.csdn.net/ssujoensiang/article/details/78620616
https://www.kocpc.com.tw/archives/162983
Macbook pro外接显卡实现深度学习相关推荐
- Macbook Pro 外接显卡实现Tensorflow GPU运行之内屏输出
Macbook Pro 外接显卡实现Tensorflow GPU运行–内屏输出 MacOS 重装 外接显卡(内屏输出)
- Macbook Pro 外接显卡实现Tensorflow GPU运行之环境配置(重点)
Macbook Pro 外接显卡实现Tensorflow GPU运行–环境配置 MacOS 重装 外接显卡(内屏输出) 环境配置(重点)
- Macbook Pro 外接显卡实现Tensorflow GPU运行之MacOS系统重装
Macbook Pro 外接显卡实现Tensorflow GPU运行-MacOS重装 MacOS 重装
- 14年中,13寸MacBook pro外接显卡坞(技嘉aorus gaming box)经验
为什么想要外接一个显卡 平时休息的时候想玩会儿游戏放松一下,但是MBP只能带的动LOL,每次玩只能玩LOL.看着去年大火的守望先锋,和今年大火的吃鸡,就只能看看直播,这个气呀! 与配一台主机相比的优缺 ...
- ArcGIS Pro基于遥感影像使用深度学习地物识别评估植被健康情况(教程)
若内容图片加载失败,请联系博主qq624633573 1.内容梳理 对植被的健康状况进行清查和评估,需要花费大量的时间和劳动力.为简化这个过程,这一次,我们使用深度学习模型来识别树木,根据植被绿度来识 ...
- 用外置显卡跑深度学习的一些注意事项
用外置显卡跑深度学习的一些注意事项 华硕的显卡坞并不是说只能在华硕电脑上用,只要有雷电3接口的一般是可以用的.这个我专门问了客服的. 搜外置显卡弄深度学习建议用google搜,搜出的结果比百度多多了. ...
- 杂记-Macbook Pro M1芯片能玩深度学习吗?
介绍 苹果公司在2020年11月的产品发布会中展示了有史以来第一款基于Apple自研M系列处理器的Apple三款新Mac,包括新的M1 MacBook Air,M1 MacBook Pro和M1 Ma ...
- 【深度学习】基于Colab Pro的TPU训练模型教程(Tensorflow)
[深度学习]基于Colab Pro的TPU训练模型教程(Tensorflow) 文章目录 1 概述 2 对比 TPU 与 GPU 的计算速度 3 总结和简易的测试代码 4 为什么使用 TPU 1 概述 ...
- 上海 · 百度语义分割Pro沙龙,高性能深度学习实战营
如同拥有"火眼金睛"般的工业质检机器人,正在作为工业领域的热点话题被大众所熟知.它因为能有效解决人工质检成本高.效率低.无法保证准确率的问题,成为实现智能制造的重要推手.想了解其中 ...
最新文章
- ios之开发屏幕适配和系统版本适配(转载)
- Java基本语法(15)--while循环结构do-while循环结构
- UVA1262Password(第K字典序)
- java与数据库连接的几个步骤
- (转)区块链:CITA
- 虚拟机镜像文件高速下载方法之一
- 高频电子线路_实验一:调谐放大器
- java正则表达式yyyymmdd_日期正则表达式yyyyMMdd
- Keil4 新建工程 和 烧录程序
- 数据分析(2)——假设检验的详细原理步骤
- Namenode处于安全模式时,对hadoop进行查看操作,edits_inprogress_txid中没有事物事件的增加,txid没有增加?
- Asset Pricing:Asset Pricing Formula
- Centos 6.x 更新内核 2.6-4.13
- 计算机专业高数学科难度,大学里极其有难度的4个专业,挂科率很高,不是学霸学不明白...
- flag{e2f34a3a-9972-4ba5-bdeb-ff7d524d87cb} preg_match implode
- python字符串转json(python字符串转浮点数)
- 【问题解决】Springboot中@Value()读取不到配置文件属性解决方法
- 工作中的高效工具推荐,职场人士必备便签小工具
- 顺序栈(含有栈顶指针,栈底指针)的实现以及编写过程中的一些疑惑的解决
- 比亚迪“亮刀”、宁德时代“狂奔”,动力电池市场的巨头混战几时休?