本文由@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 文件,打开终端:

  1. open -e .bash_profile

然后在弹出的文件中添加:

  1. export CUDA_HOME=/usr/local/cuda
  2. export DYLD_LIBRARY_PATH="$CUDA_HOME/lib:$CUDA_HOME/extras/CUPTI/lib"
  3. export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
  4. export PATH=$DYLD_LIBRARY_PATH:$PATH
  5. export flags="--config=cuda --config=opt"

执行命令重启bash_profile

  1. $ . ~/.bash_profile

检测CUDA能否正常运行:

  1. $ cd /usr/local/cuda/samples
  2. $ sudo make -C 1_Utlities/deviceQuery
  3. $ ./bin/x86_64/darwin/release/deviceQuery

如果最后显示 Result = PASS,那么CUDA就工作正常

随后再安装CUDNN

下好后直接把cudnn-8.0-osx-x64-v6.0.tar压缩包丢到这下面,这是在安装CUDA的时候他就帮你建好的一个路径。

  1. /Developer

然后解压它。

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

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

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

  1. sudo mv include/cudnn.h /Developer/NVIDIA/CUDA-8.0/include/
  2. sudo mv lib/libcudnn* /Developer/NVIDIA/CUDA-8.0/lib
  3. ln -s /Developer/NVIDIA/cudnn/include/* /usr/local/cuda/include/
  4. 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 打开终端,输入以下命令创建环境:

  1. $ conda create -n tensorflow_gpu python=2.7

3.2 激活环境:

  1. $ source activate tensorflow_gpu

3.3 安装tensorflow:

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

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

  1. 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 到下载目录下,

然后直接

  1. 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. 执行如下测试脚本:

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

3 . 测试结果:

  1. 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
  2. 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
  3. 2017-12-14 23:26:27.050014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1062] Found device 0 with properties:
  4. name: GeForce GT 750M major: 3 minor: 0 memoryClockRate(GHz): 0.9255
  5. pciBusID: 0000:01:00.0
  6. totalMemory: 2.00GiB freeMemory: 1.71GiB
  7. 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)
  8.  
  9. 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. 读书笔记-你不知道的JS中-promise

    之前的笔记没保存没掉了,好气,重新写! 填坑-- 现在与将来 在单个JS文件中,程序由许多块组成,这些块有的现在执行,有的将来执行,最常见的块单位是函数. 程序中'将来'执行的部分并不一定在'现在'运 ...

  2. 如何线上部署node.js项目

    来源:http://blog.csdn.net/chenlinIT/article/details/73343793 前言 最近工作不是很忙,在空闲时间学习用node+express搭建自己的个人博客 ...

  3. 视觉词袋模型(BOVW)

    一.介绍 Bag-of-words model (BoW model) 最早出现在神经语言程序学(NLP)和信息检索(IR)领域. 该模型忽略掉文本的语法和语序, 用一组无序的单词(words)来表达 ...

  4. 理解typename的两个含义

    理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class T> ...

  5. 【Spring】渲染Web视图

    前言 前面学习了编写Web请求的控制器,创建简单的视图,本篇博文讲解控制器完成请求到结果渲染到用户的浏览器的过程. 渲染Web视图 理解视图解析 前面所编写的控制器方法都没有直接产生浏览器中渲染所需要 ...

  6. js验证是否为数字的总结(转)

    作者: 字体:[增加 减小] 类型:转载 时间:2013-04-14我要评论 js验证是否为数字的总结,需要的朋友可以参考一下 js验证是否为数字,最简单的方法: isNaN函数的使用: functi ...

  7. JSP异常之org.apache.jasper.JasperException(转)

    According to TLD or attribute directive in tag file, attribute items does not accep t any expression ...

  8. c++学习笔记---05--- C++输出输入小结

    C++输出输入小结 题目: 这个程序将向用户提出一个"Y/N"问题,然后把用户输入的值赋值给answer变量. 要求: 针对用户输入'Y'或'y'和'N'或'n'进行过滤: 发掘程 ...

  9. Linux学习(二十)软件安装与卸载(三)源码包安装

    一.概述 源码包安装的优点在于它自由程度比较高,可以指定目录与组件.再有,你要是能改源码也可以. 二.安装方法 步骤 1.从官网或者信任站点下载源码包 [root@localhost ~]# wget ...

  10. python jason,pickle

    参考官网 https://docs.python.org/3/library/json.html https://docs.python.org/3/library/pickle.html 了解这两个 ...