Setup Tensorflow with GPU on OSX 10.11

环境描述

电脑:MacBook Pro 15.6

CPU: 2.7GHz 显卡: GT 650m

系统:OSX 10.11

Python版本:2.7

Using Anaconda and pip to install tensorflow

  1. 安装Tensorflow依赖项

    1. 安装brew

      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    2. 使用镜像加速homebrew
    3. 依赖项下载

      brew update

      brew upgrade

      brew install coreutils

      brew install swig

      brew install bazel

      bazel version

  2. 安装Anaconda Python
    1. 版本选择:我选择是的是 Anaconda2-4.2.0-MacOSX-x86_64.pkg 基于Python2.7
    2. 测试Anaconda 是否安装成功

      >python

      出现 >Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul 2 2016, 17:43:17) 表示成功

  3. 安装CUDA 7.5版本
    1. 我下载的是cuda_7.5.27_mac.dmg
    2. 默认安装的路径是/Developer/NVIDIA/CUDA-7.5/,但是我们需要放在/usrl/local/cuda/目录下

      cp -R /Developer/NVIDIA/CUDA-7.5/ /usrl/local/cuda

      设置环境参数:

      vim .bash_profile

      export CUDA_HOME=/usr/local/cuda

      export DYLD_LIBRARY_PATH="\$DYLD_LIBRARY_PATH:\$CUDA_HOME/lib"

      export PATH="\$CUDA_HOME/bin:\$PATH"

      source .bash_profile

  4. 安装CUDA Driver
    1. 我下载的是CUDA 7.5.29 driver for MAC
  5. 下载安装cudnnV5(需要注册下载)
    1. 我下载的是 Download cuDNN v5 (May 12, 2016), for CUDA 7.5
    2. 下载完毕,将cudnn拷贝到cuda目录下面

      tar -xzvf cudnn-7.5-osx-x64-v5.0-ga.tar

      cd cuda

      sudo cp lib* /usr/local/cuda/lib

      sudo cp cudnn.h /usr/local/cuda/include/

      sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib/libcudnn*

      sudo ln -s /usr/local/cuda/lib /usr/local/cuda/lib64

  6. CUDA 是否安装成功的测试:
    1. 需要JDK 环境 我的是JDK_8U66,
    2. Xcode环境官网下载 我安装的是7.2版本 + 7.3版本,官网说7.3不兼容,暂时没有发现,保险起见,还是7.2版本吧
    3. 测试是否CUDA 安装成功

      cp -r /usr/local/cuda/samples ~/cuda-samples

      pushd ~/cuda-samples

      make

      popd

      ~/cuda-samples/bin/x86_64/darwin/release/deviceQuery

      如果成功,你将会看到关于GPU相关的信息

      这样会将所有的samples都进行编译,可以选择只编译deviceQuery这个module,命令如下:

      cd /usr/local/cuda/samples

      sudo make -C 1_Utilities/deviceQuery

      /usr/local/cuda/samples/bin/x86_64/darwin/release/deviceQuery

  7. 安装pip来下载tensorflow

    sudo easy_install pip

    sudo easy_install --upgrade six

    1. python pip源配置加速下载

    2. 通过pip来在线下载tensorflow (如果失败,使用离线进行下载)

      export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.11.0rc0-py2-none-any.whl

      sudo pip install --upgrade $TF_BINARY_URL

    3. 使用Pip命令离线安装tensorflow 命令如下:

      # create a new environment with sklearn installed, up to you

      # if you want a pure Python, replace scikit-learn by python

      conda create -n tensorflow scikit-learn

      # activate the new environment

      source activate tensorflow

      # download the wheel file

      curl https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.11.0rc0-py2-none-any.whl --output tensorflow-0.11.0rc0-py2-none-any.whl

      # then install

      pip install tensorflow-0.11.0rc0-py2-none-any.whl

  8. 测试tensorflow 是否已经成功安装

    source activate tensorflow

    python

    import tensorflow as tf

    附官网上面会有常见问题解决方法

    这里会遇到一个segment fault,原因是有个文件缺省名字变了,

    ln -sf /usr/local/cuda/lib/libcuda.dylib /usr/local/cuda/lib/libcuda.1.dylib

  9. 运行第一个model test

    查看安装位置

    source activate tensorflow

    # 这句需要在每次使用tensorflow之前使用

    python -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'

    #上面的这个路径后面可能会用到

    python -m tensorflow.models.image.mnist.convolutional

    #这句会出错,解决办法见问题5,就是修改convolutional.py 文件的这一行WORK_DIRECTORY="~/data"

=======

安装tensorflow的过程比较慢,主要的原因是:

  1. brew, pip,官网下载,各种下载时间比较长,等的比较心焦
  2. 系统版本的问题,更新OSX 10.12 后,出现QtKit被更改,然后找不到的问题,系统环境进行了一些更新,重装了下系统降级到OSX 10.11

==========

安装tensorfow 官方有很多的方法,但是成功的比较少. 我的安装过程是:

  1. 先安装Anaconda Python,
  2. 然后@高山 使用Pip安装成功了CPU only的tensorflow,然后我也选择了Pip 安装,但是pip 安装到了最后一步的时候出现了失败问题,问题4
  3. [install-tensorflow-on-mac-os-10.11] (http://vinhdq.blogspot.com/2015/12/installing-tensorflow-on-mac-os-1011.html)

参考引用:

  1. tensorflow官方文档
  2. https://gist.github.com/Mistobaan/dd32287eeb6859c6668d
  3. https://gist.github.com/ageitgey/819a51afa4613649bd18
  4. Installing tensorflow on Mac OS 10.11

安装caffe的教程如下,有些组件的安装可以参考:

  1. http://www.jianshu.com/p/8795b882ea67
  2. http://hoondy.com/2015/04/03/how-to-install-caffe-on-mac-os-x-10-10-for-dummies-like-me/

遇到的问题:

  1. brew下载好慢,使用brew 镜像加速
  2. pip 下载好慢,使用镜像加速
  3. xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance #569
  4. Cannot remove entries from nonexistent
  5. Unable to execute example: models/image/mnist/convolutional.py on MacOS

Setup Tensorflow with GPU on Mac OSX 10.11的更多相关文章

  1. Mac OSX 10.11安装Jekyll

    一说常见的博客管理工具大家想到的就是WordPress.不过现在部分个人博客用户开始从WordPress转移到Jekyll上了.Jekyll是一种本地生成静态页面进而线上发布的博客工具,而且现在已经有 ...

  2. 转: VMware 安装mac osx 10.11 安装步骤(一)(from伟东)

    http://blog.csdn.net/soachenshui/article/details/49251513

  3. 深度学习框架-caffe安装-环境[Mac OSX 10.12]

    深度学习框架-caffe安装 [Mac OSX 10.12] [参考资源] 1.英文原文:(使用GPU) [http://hoondy.com/2015/04/03/how-to-install-ca ...

  4. 深度学习框架-caffe安装-Mac OSX 10.12

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...

  5. XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 安装PAServer ...

  6. XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装Xcode前, ...

  7. XE6移动开发环境搭建之IOS篇(4):VMware9里安装Mac OSX 10.8(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 以下内容比较长,我们 ...

  8. 虚拟机VMware 9安装苹果MAC OSX 10.8图文教程

    前些天虚拟机VMware Workstation 9出来,相信大家都已经熟悉VM9了,至于MAC OSX 10.8系统,那也是出来一段时间了,本篇文章就是来讲解VMware Workstation 9 ...

  9. XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

    XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装XE6的PAServer(有图有真相) 2014-08-22 21:06 网上能找到的关于Delphi XE系列的移动开发环境的 ...

随机推荐

  1. Java 声明和访问控制(二) this关键字的访问

    this可以引用本类的静态变量和实例变量,而在静态方法中不能引用实例变量(因为当静态方法加载时,实例变量还没有被定义和初始化) this不可以引用局部变量.例如方法的参数变量,以及在方法中定义的局部变 ...

  2. op论坛,分支

    http://www.arm9home.net/thread.php?fid=68 http://www.openwrt.org.cn/bbs/forum.php https://dev.openwr ...

  3. 如何删除MyEclipse(eclipse)中不需要的workspace

    在安装目录下,打开eclipse/configuration/.settings,用记事本打开org.eclipse.ui.ide.prefs文件 #Wed Mar 11 14:41:21 CST 2 ...

  4. IIS短文件漏洞修复

    近期网站系统被扫描出漏洞:IIS短文件/文件夹漏洞 漏洞级别:中危漏洞 漏洞地址:全网站 漏洞描述:IIS短文件名泄露漏洞,IIS上实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举获取服务器根目录中的文 ...

  5. glsl-UBO

    UBO 是什么?为何要用UBO? 1.数据共享设计 采用Block的原因是: 如果你的程序中包含了多个着色器,而且这些着色器使用了相同的Uniform变量,你就不得不为每个着色器分别管理这些变量.Un ...

  6. HDOJ/HDU 2565 放大的X(分段思考~)

    Problem Description 请你编程画一个放大的'X'. 如3*3的'X'应如下所示: X X XX X5*5的'X'如下所示:X X X X X X XX X Input 输入数据第一行 ...

  7. jQuery技术内幕预览版.pdf2

    第二章 构造jQuery对象 jQuery对象是一个类数组对象,含有连续的整型属性.length属性和大量的jQuery方法,$()是jQuery()的缩写 构造函数jQuery() 如果调用构造函数 ...

  8. Codeforces 264B 数论+DP

    题目链接:http://codeforces.com/problemset/problem/264/B 代码: #include<cstdio> #include<iostream& ...

  9. 小Q书桌的下载、安装和使用

    最近,无意之间,在某大牛电脑里,使用到了这款软件.感谢! 确实,挺实用和方便的,强烈推荐!!! 1.  下载 http://qdesk.qq.com/ 2.  安装 3.  使用 多么方便啊!

  10. Why should i use url.openStream instead of of url.getContent?

    I would like to retrieve the content of a url. Similar to pythons: html_content = urllib.urlopen(&qu ...