Macbook pro外接显卡实现深度学习

news/2024/10/30 11:31:10/

耗时一整天加一晚上终于成功了安装配置外接GPU并运行深度学习案列

故事的缘由

2017年底鬼使神差的买了个macbook,放在家里吃了一年灰,心想还是要用起来啊。目前主要从事数据挖掘机器学习的工作,需要搞搞深度学习,于是上网查攻略,如何使用mac连接GPU进行深度学习,最后查到的方案是使用游戏盒子AORUS GTX 1070 GAMING BOX来连接。但是很多攻略使用的系统都是10.12的,10.13.1的极少,再加上京东下面的各种差评,抱着忐忑的心情去京东买了一个,拿回来心就凉了半截,这包装像是被退货的东西,包装有磨碎,还好打开里面,外壳没有磨损,螺丝口也没有,应该没被人拆过,那我就姑且试试吧。之前问了京东客服苹果设备必须要外接显示器才可使用,又去搞了台显示器。好了,硬件设备准备好了,开始头疼的安装工作。

配置

  • 硬件
    我的系统版本

macOS版本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


http://www.ppmy.cn/news/325643.html

相关文章

Macbook Pro 外接显卡实现Tensorflow GPU运行之内屏输出

Macbook Pro 外接显卡实现Tensorflow GPU运行–内屏输出 MacOS 重装外接显卡(内屏输出)👆环境配置(重点)Tensorflow GPU 配置 外接显卡(内屏输出) 本文主要参考翻译自: https://eg…

联想z400成功带起外置显卡gtx1050

实验成功,联想z400成功带起外置显卡gtx1050,默认是跑内屏的性能缩水50%,每次开机都需要配置egpu才能正常用显卡跑外屏,性能保持在80%。下面是从最原始的笔记本屏蔽独显,到成功切换上外置显卡的全部过程记录&#xff08…

MacBook+eGPU编译安装pytorch、tensorflow(OSX10.13.3,python3.6,cuda9.1,cudnn7)(未完成)

本文记录自己使用MacBook 13inch early2015技嘉GTX1080 Gaming Box配置深度学习环境的过程 安装eGPU(待添加) 1. 安装PyTorch(待添加) 1. 安装tensorflow 下载tensorflow-1.5.0源码(修改文件)删除三个文…

450刀的eGPU vs 谷歌Colab,谁更划算?

选自medium 作者:Jeremy DiBattista 机器之心编译 参与:陈萍 转载自公众号:机器之心 eGPU 与谷歌 Colab 的运算差异性如何? 众所周知,深度学习 “炼丹” 成本极高。即使是最简单的任务,GPU 也是绝对的选择。…

eGPU 能否一战?- Tensorflow GPU 基准测试

文章目录 前言硬件环境Tensorflow 版本基准测试脚本基准数据来源测试方法测试结果结论 前言 开始学习 Tensorflow,但是又不想投资一台专用的 GPU 工作站。我现在使用的主力电脑是:Thinkpad X1 Carbon,计划购置 eGPU 来加速 Tensorflow。 购置…

windows 10 右键新建菜单添加 Typora 或者Notepad++

添加 Typora: 1、打开注册表:regedit 2、在以下注册表路径下查看是否注册成功: 计算机\HKEY_CLASSES_ROOT\Applications\ 下查找 Typora.exe 3、新建以下.reg 文件,保存,执行,重启 Windows Registry Editor Version…

[MetalKit]45-Using eGPUs with Metal 在 eGPU上使用 Metal

本系列文章是对 metalkit.org 上面MetalKit内容的全面翻译和学习. MetalKit系统文章目录 对于那些像我一样需要原生 GPU 性能,却只有一个笔记本电脑,又不想再买一个台式机的人来说,解决方案似乎就是外置 GPU(eGPU)。但是 macOS 原来却并不支持…

一、MacBook Pro 使用eGPU-WTG篇,mac告别虚拟机

笔记本:MacBook Pro 18款13寸灰9R2 Windows To Go篇 硬件: 惠普S700 500G SSD 绿联移动硬盘盒2.5英寸Type-C 3.1 可拆线款 USB有线鼠标 1台win10 电脑 typeC转USB转接头 WTG思路:在移动硬盘里安装windows系统,refind也装在wi…