本文由@ray 出品,转载请注明出处。  
文章链接:http://www.cnblogs.com/wolfray/p/8040694.html


在之前的文章中,笔者介绍了在Mac下安装Tensorflow及开发环境搭建。但是感觉用CPU跑机器学习还是太慢了,所以便研究研究如何使用GPU来跑。

1.运行环境

软件环境: 
macOS Sierra 10.12.6 
Xcode 8.2.1 
Python 2.7 
Homebrew

GPU Driver: WebDriver-378.05.05.25f03 
CUDA Driver: cudadriver-8.0.90-macos 
CudaToolkit: cuda_8.0.61_mac 
CUDNN: cudnn-8.0-osx-x64-v6.0

硬件环境: 
CPU:2.3 GHz Intel Core i7 
Memory:16 GB 1600 MHz DDR3 
GPU:NVIDIA GeForce GT 750M 2048 MB

 

首先需要注意的是,新版的Macbook现在搭载的都是A卡,这类机器的话除了用OpenCL的方法之外,还可以通过外置显卡的方法跑机器学习。

2.CUDA安装

首先需要说明的是:CUDA Driver与NVIDIA GPU Driver的版本必须一致,才能让CUDA找到显卡。

在mac上安装CUDA最麻烦的事情就是版本匹配问题,这个版本匹配指的是MacOS版本和CUDA Driver、GPU Driver的版本都要匹配。这个网站提供了详细的版本对照:http://www.macvidcards.com/drivers.html

1.先根据macOS 10.12.6版本,在这个网站http://www.macvidcards.com/drivers.html找到相应的GPU Driver-378.05.05.25f03(笔者的是这个版本),下载安装。 
(链接:https://pan.baidu.com/s/1dFB6RzN 密码:rbcv)

2.再进入CUDA Driver页面http://www.nvidia.com/object/mac-driver-archive.html,找到和GPU driver匹配的版本(cudadriver-8.0.90-macos笔者下的是这个),然后下载安装。

3.再进入CUDA Toolkit页面https://developer.nvidia.com/cuda-toolkit-archive,下载、安装CUDA Toolkit(笔者安装的是cuda_8.0.61_mac) 
(链接:https://pan.baidu.com/s/1bppWjt9 密码:pthw)

4.CUDNN,笔者这里下的是 cudnn-8.0-osx-x64-v6.0 https://developer.nvidia.com/rdp/cudnn-download 
(链接:https://pan.baidu.com/s/1c2Nee1E 密码:rpgq)

在以上①②③个东西都安装好之后,配置 CUDA 环境,编辑 ~/.bash_profile 文件,打开终端:

open -e .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-8.0-osx-x64-v6.0.tar压缩包丢到这下面,这是在安装CUDA的时候他就帮你建好的一个路径。

/Developer

然后解压它。

sudo tar xvf cudnn-8.0-osx-x64-v6.0.tar

官方解压出来叫做cuda应该意思就是让你放到cuda这个文件夹下和cuda自己的文件合并。

在了解cuda的前情后,就知道怎么装这个cudnn了。

sudo mv include/cudnn.h /Developer/NVIDIA/CUDA-8.0/include/
sudo mv lib/libcudnn* /Developer/NVIDIA/CUDA-8.0/lib
ln -s /Developer/NVIDIA/cudnn/include/* /usr/local/cuda/include/
ln -s /Developer/NVIDIA/cudnn/lib/* /usr/local/cuda/lib/

至此CUDA部分安装结束。

附上一张用CUDA-Z查看的图: 
(链接:https://pan.baidu.com/s/1slxBoPf 密码:d43e) 

3.Tensorflow_gpu安装

这里依然是基于之前文章中提到的Anaconda环境进行安装,不知道的同学可以看这里http://blog.csdn.net/wz22881916/article/details/78495543

3.1 打开终端,输入以下命令创建环境:

$ conda create -n tensorflow_gpu python=2.7

3.2 激活环境:

$ source activate tensorflow_gpu

3.3 安装tensorflow:

安装tensorflow的时候特别的需要小心,因为tensorflow团队宣布停止支持1.2以后mac 版的tensorflow了。

如果你直接用pip install 的方法的话,那么应该会装成1.1版的tensorflow:

pip install tensorflow-gpu

我来详细的介绍一下安装tensorflow-gpu 1.4版的步骤:

你可以选择自己从源码编译tensorflow进行安装,或者使用别人编译好的进行安装。

笔者这里提供一个环境为python=2.7,CUDA=8.0,CUDNN=6,Compute Capability=3.0,3.5,5.2,6.1,tensorflow=1.4.0的版本给大家。如果你装的版本和笔者在上文中提到的一样的话,那么下载下来这个包之后, 
(链接:https://pan.baidu.com/s/1hsgY5Kg 密码:suq7)

cat 到下载目录下,

然后直接

pip install tensorflow-1.4.0-cp27-cp27m-macosx_10_12_intel.whl

即可

其中cp27代表的是python的版本为2.7版的,如果是cp35,cp36,那么就代表是python3.5或者python3.6的;macosx_10_12代表的是操作系统的版本号

3.4 测试tensorflow

  1. 运行python环境

  2. 执行如下测试脚本:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

3 . 测试结果:

2017-12-14 23:26:26.352229: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.2 AVX AVX2 FMA
2017-12-14 23:26:27.049231: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:859] OS X does not support NUMA - returning NUMA node zero
2017-12-14 23:26:27.050014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1062] Found device 0 with properties:
name: GeForce GT 750M major: 3 minor: 0 memoryClockRate(GHz): 0.9255
pciBusID: 0000:01:00.0
totalMemory: 2.00GiB freeMemory: 1.71GiB
2017-12-14 23:26:27.050043: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1152] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0, compute capability: 3.0) Hello, TensorFlow!

4. 参考文献

https://www.tensorflow.org/install/install_mac#the_url_of_the_tensorflow_python_package

http://blog.csdn.net/eengel/article/details/73245079

http://blog.csdn.net/eengel/article/details/73291190?utm_source=itdadao&utm_medium=referral

https://zhuanlan.zhihu.com/p/25045282

https://gist.github.com/smitshilu/53cf9ff0fd6cdb64cca69a7e2827ed0f

http://www.jianshu.com/p/b31939ca5907

http://cache.baiducontent.com/c?m=9d78d513d99c12fe4fede5285a528c374e4381137f90875534c0d408cd6b01070124f4ba543f0d4196806b6776f1121ba0ab652f200357eadb9d954adfb897352d883a722740c71c528747f28e5125b77fc30bfeaf6fbafbe732e5b9a5d5c82459dd59766d8086cd0d5c55972fa44a6ca6b1993e022817ad9e4772f552605e953433b750f3e72519739686ac4b46c93da765069ca922c34a05c217b3156a334ea35bb17e006166b358508b534d7585e156fa&p=c36dc54ad5c14be81abe9b7c485dcf&newp=882a9647dcdf0ebe0ebe9b7c1b0c9f231610db2151d4d31e6b82c825d7331b001c3bbfb423241b01d6c0766202af4c5fedf6327033012ba3dda5c91d9fb4c5747994682526&user=baidu&fm=sc&query=mac+deviceQuery&qid=ae21222600004a3e&p1=9

 

Mac下CUDA开启及Tensorflow-gpu安装的更多相关文章

  1. Mac下CUDA开启及Tensorflow-gpu 1.4 安装

    本文由@ray 出品,转载请注明出处.  文章链接:http://www.cnblogs.com/wolfray/p/8040694.html 在之前的文章中,笔者介绍了在Mac下安装Tensorfl ...

  2. tensorflow -gpu安装,史上最新最简单的途径(不用自己装cuda,cdnn)

    tensorflow -gpu安装首先,安装Anoconda1. 官网下载点我: 2.安装 点击 python 3.6 version自动下载x64版,下载好之后,然后安装. 如图,打上勾之后,一路n ...

  3. TensorFlow DeepLab教程初稿-tensorflow gpu安装教程

    TensorFlow DeepLab教程初稿-tensorflow gpu安装教程 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com Summar ...

  4. Mac下sublime text 的“package control”安装

    小伙伴们好,我根据昨晚的经历写一个小总结:关于“Mac下sublime text 的“package control”安装”.本来安装package control是一个无比简单的事情,即使是初次使用 ...

  5. linux和mac下的nginx和php的安装

    linux版本相关文档:http://www.nginx.cn/231.html 一.安装php 1.下载包,这里以php 5.3.10为例 2.执行下面shell命令 注意:下面配置的命令中第一行 ...

  6. 【转】在MAC下使用ISO制作Linux的安装USB盘

    http://www.linuxidc.com/Linux/2013-04/82973.htm 在Mac环境下,将Linux的ISO镜像生成一个Linux的安装盘,和Linux下差不多,只是Mac下有 ...

  7. mac下的改装人生——关于mc700安装双硬盘以后的win重装问题

    宝贝到家~玩了几天,感觉神清气爽~今天正式开始准备工作了哈. 今天早上开了mac的win7系统发现了几个小问题.好吧我承认这个真的是小问题,就是我没有办法能调整屏幕的亮度了.重装了bootcamp依然 ...

  8. mac下MySQL、MysqL workbench的安装与配置配置

    请戳这里 但是3.4的创建instance还不会

  9. Mac下Ruby升级与Rails的安装

    也是醉了,网上查了半天一脸懵逼.然后自己动手试试 gem install rails瞬间命令行就没反应了,以为命令行挂了,但是一会儿报错说是没有权限. 好吧,那么来这个 sudo gem instal ...

随机推荐

  1. 话说LightningChart是最快最美的图表控件,到底先进在哪里?

    LightningChart Ultimate v.8.2 最新版本新特征告诉你它先进在哪里! 1. Headless 模式 headless模式允许在没有GUI的情况下使用LC.例如,在Window ...

  2. 借助csv用PHP生成excel文件

    当你将xml文件改为csv后缀会发现原先的表格结构都变成用逗号隔开的一行一行数据,就像这样 编号,姓名,年龄 001,王宇,28 002,刘三,20 由此看来,如果能将PHP数据输出为这样的格式,然后 ...

  3. Spring框架学习之高级依赖关系配置(二)

    紧接着上篇内容,本篇文章将主要介绍XML Schema的简化配置和使用SpEL表达式语言来优化我们的配置文件. 一.基于XML Schema的简化配置方式 从Spring2.0以来,Spring支持使 ...

  4. A Simple Math Problem(矩阵快速幂)(寒假闭关第一题,有点曲折啊)

    A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...

  5. PHP基础入门(二)【PHP函数基础】

    PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...

  6. Android 开发笔记___Intent的使用

    public class ActRequestActivity extends AppCompatActivity implements OnClickListener { private EditT ...

  7. javascript 二维(多维)数组的复制问题

    最近在项目中遇到一个动画暂停的效果,需要在动画停止的时候检测当前坐标和已经运行的时间,从而调节时间轴为再次运行时加速. 但是在数组保存方面折腾了半天. var orbitArray = [], lin ...

  8. 动态加载js css 插件

    简介 动态加载js,css在现在以及将来肯定是很重要的.目前来看前端代码编写的业务量已经远远超过后端编写的.随着对用户体验度逐渐增强,前端业务复杂,加载速度变得很慢很慢.为了解决这个问题,目前出现的两 ...

  9. .Net中的装箱和拆箱

    装箱(boxing)和拆箱(unboxing)是.NET提出得新概念!.NET的所有类型都是由基类System.Object继承过来的,包括最常用的基础类型:int, byte, short,bool ...

  10. PHP通过Zabbix API获取服务器监控信息

    开源监控系统Zabbix提供了丰富的API,供第三方系统调用. 基本步骤如下: 1.获取合法认证:连接对应Zabbix URL,并提供用户名和密码,HTTP方法为"POST",HT ...