本文由@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.4 安装的更多相关文章

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

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

  2. mac下配置Node.js开发环境、express安装、创建项目

    mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...

  3. TensorFlow GPU版本的安装与调试

    笔者采用python3.6.7+TensorFlow1.12.0+CUDA10.0+CUDNN7.3.1构建环境 PC端配置为GTX 1050+Intel i7 7700HQ 4核心8线程@2.8GH ...

  4. Mac下的eclipse 4.6的tomcat插件安装正确姿势

    最新版 eclipse 4.6 (Neon) tomcat 插件的安装, 解决tomcat插件tomcatPluginV331不能使用的问题. 1.打开最新版的 eclipse 4.6 (neon), ...

  5. Mac下Call to undefined function imagettftext() 解决方案

    文章转载至Mac下Call to undefined function imagettftext()终极解决方案 安装了一套onethink程序准备调试,结果在登录页面发现验证码无法显示,单独访问验证 ...

  6. Mac下安装LNMP(Nginx+PHP5.6)环境

    [转自:http://avnpc.com/pages/install-lnmp-on-osx] 安装Homebrew 最近工作环境切换到Mac,所以以OS X Yosemite(10.10.1)为例, ...

  7. mac下通过docker搭建LEMP环境

    在mac下通过docker搭建LEMP环境境 1.安装virtualbox.由于docker是在lxc环境的容器 2.安装boot2docker,用于与docker客户端通讯 > brew up ...

  8. Mac下Git安装及配置

    Mac下: 1.下载git版本并安装 运行终端 查看git版本: bogon:~ yan$ git --version git version 2.16.3 配置gitconfig文件 vim ~/. ...

  9. MAC下用homebrew安装及配置apache、php和mysql

    我们用到php运行环境的时候总喜欢用集成包,其实在mac下,用homebrew也可以很快的安装这些东西,配置也很简单. homebrew homebrew是mac下的一个包安装管理工具,使用非常简单方 ...

随机推荐

  1. Codeforces 263A. Appleman and Easy Task

    A. Appleman and Easy Task time limit per test  1 second memory limit per test  256 megabytes input  ...

  2. NYOJ 832 合并游戏

    合并游戏 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 大家都知道Yougth除了热爱编程之外,他还有一个爱好就是喜欢玩.某天在河边玩耍的时候,他发现了一种神奇的石 ...

  3. wait、notify应用场景(生产者-消费者模式)

    Java实现生产者消费者的方式有:wait && notify.BlockingQueue.Lock && Condition等 wait.notify注意事项:(1) ...

  4. Spring MVC中@RequestMapping注解使用技巧(转)

    @RequestMapping是Spring Web应用程序中最常被用到的注解之一.这个注解会将HTTP请求映射到MVC和REST控制器的处理方法上. 在这篇文章中,你将会看到@RequestMapp ...

  5. 【Python】Python 标准库 urllib2 的使用细节

    转自:http://zhuoqiang.me/python-urllib2-usage.html http://www.cnblogs.com/txw1958/archive/2012/03/12/2 ...

  6. 再次讨论javascript 中的this

    原文: http://www.jb51.net/article/77519.htm 核心总结: 1.不论函数在哪里被调用,只要没有指定调用方,则this都指向window.指定了调用方,就指向调用方. ...

  7. Go语言用堆排序的方法进行一千万个int随机数排序.

    上篇文章用的是quicksort方法排序,可是假设用高速排序法对反复率非常高的slice排序的时候,时间复杂度会激增,速度相当慢 所以尝试了一下堆排序,实验结果,感觉挺好的.以下是代码,大家能够參考一 ...

  8. 改动grub默认启动顺序

    grub如今有两个版本号,一个grub,一个grub2,两个版本号的操作不太一样. 装centos的朋友非常有可能是grub.我电脑装的是ubuntu14.04,为grub2.我演示grub2的过程. ...

  9. [android]Xutils具体介绍

    什么是Xutils xUtils 包括了非常多有用的android工具,xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持, ...

  10. 基于TCP/UDP的socket编程

    基于TCP(面向连接)的socket编程服务器端顺序: 1. 创建套接字(socket) 2. 将套接字绑定到一个本地地址和端口上(bind) 3. 将套接字设为监听模式,准备接收客户请求(liste ...