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. 【POJ 3167】Cow Patterns (KMP+树状数组)

    Cow Patterns Description A particular subgroup of K (1 <= K <= 25,000) of Farmer John's cows l ...

  2. 李洪强iOS开发之-cocopods安装

  3. Wide character in print at a2.pl line 返回json 需要encode_utf8

    centos6.5:/root/test#cat a2.pl use Net::SMTP; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Heade ...

  4. android 读写SD卡文件

    参考: http://www.oschina.net/code/snippet_176897_7336#11699 写文件: private void SavedToText(Context cont ...

  5. WCF - net.pipe vs. net.tcp vs. http Bindings

    WCF - net.pipe vs. net.tcp vs. http Bindings 问题: I'm new to WCF and would like to know the differenc ...

  6. 从tcp原理角度理解Broken pipe和Connection reset by peer的区别

    从tcp原理角度理解Broken pipe和Connection reset by peer的区别 http://lovestblog.cn/blog/2014/05/20/tcp-broken-pi ...

  7. android layout 属性大全

    第一类:属性值为true可false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:la ...

  8. wpa_supplicant 配置与应用

    概述 wpa_supplicant是wifi客户端(client)加密认证工具,和iwconfig不同,wpa_supplicant支持wep.wpa.wpa2等完整的加密认证,而iwconfig只能 ...

  9. 最小生成树之Prim算法,Kruskal算法

    Prim算法 1 .概览 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树.意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (gr ...

  10. python 零散记录(五) import的几种方式 序列解包 条件和循环 强调getattr内建函数

    用import关键字导入模块的几种方式: #python是自解释的,不必多说,代码本身就是人可读的 import xxx from xxx import xxx from xxx import xx1 ...