本文由@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. Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度

     Android StatusBarUtil:设置Android系统下方虚拟键键盘透明度 Android StatusBarUtil是github上的一个开源项目,主页:https://githu ...

  2. codevs1005 生日礼物

    题目描述 Description 9月12日是小松的朋友小寒的生日.小松知道小寒特别喜欢蝴蝶,所以决定折蝴蝶作为给小寒的生日礼物.他来到了PK大学最大的一家地下超市,在超市里,小松找到了n种可以用来折 ...

  3. 【eclipse】eclipse启动优化&打印GC信息&重要的堆结构连接

    eclipse启动优化,终于不那么卡了! 网上找了好多都是myEclipse的优化的,跟eclipse有点区别,找了很多方法还是不能让这个eclipse(Version: Kepler Release ...

  4. Ubuntu 16.04常用快捷键(转)

    注意:在Linux下Win键就是Super键 启动器 Win(长按) 打开启动器,显示快捷键 Win + Tab 通过启动器切换应用程序 Win + 1到9 与点击启动器上的图标效果一样 Win + ...

  5. linux高级技巧:集群之keepalived

    1.keepalived简单介绍         Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案.能够利用其来避免单点故障.使用多台节点安装keepalived. 其它的节点用 ...

  6. Wincc操作数据库SQLSERVER

     WINCC写数据库 在WINCC的图形编辑器中,在输入域的属性中.选择事件.再选择键盘的释放动作,在动作代码框中写下例如以下代码: Dim conn,rs Dim strsql Dim a a=HM ...

  7. Android实现一个自己定义相机的界面

    我们先实现拍照button的圆形效果哈.Android开发中,当然能够找美工人员设计图片,然后直接拿进来.只是我们能够自己写代码实现这个效果哈.最经常使用的的是用layout-list实现图片的叠加, ...

  8. git subtree 拆分split repository

    subtree出现,是为了取代submodule http://wenku.baidu.com/link?url=ola85Z5tIXJpxCjLTk-dcO81ayXLs68_y6dsmXIa0ni ...

  9. 乐视云监控数据存放到influxdb中

    3.9     监控.告警系统 监控报警我们分PaaS平台和业务应用两大类. PaaS平台主要聚焦在基础设施和LeEngine的各个服务组件的监控报警(比如主机CPU,内存,IO,磁盘空间,LeEng ...

  10. go语言笔记——切片底层本质是共享数组内存!!!绝对不要用指针指向 slice切片本身已经是一个引用类型就是指针

    切片 切片(slice)是对数组一个连续片段的引用(该数组我们称之为相关数组,通常是匿名的),所以切片是一个引用类型(因此更类似于 C/C++ 中的数组类型,或者 Python 中的 list 类型) ...