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
- 安装Tensorflow依赖项
-
安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 使用镜像加速homebrew
-
依赖项下载
brew update
brew upgrade
brew install coreutils
brew install swig
brew install bazel
bazel version
-
-
安装Anaconda Python
- 版本选择:我选择是的是 Anaconda2-4.2.0-MacOSX-x86_64.pkg 基于Python2.7
-
测试Anaconda 是否安装成功
>python
出现 >Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul 2 2016, 17:43:17) 表示成功
-
安装CUDA 7.5版本
- 我下载的是cuda_7.5.27_mac.dmg
-
默认安装的路径是/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
-
安装CUDA Driver
- 我下载的是
CUDA 7.5.29 driver for MAC
- 我下载的是
-
下载安装cudnnV5(需要注册下载)
- 我下载的是
Download cuDNN v5 (May 12, 2016), for CUDA 7.5
-
下载完毕,将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
- 我下载的是
- CUDA 是否安装成功的测试:
- 需要JDK 环境 我的是JDK_8U66,
- Xcode环境官网下载 我安装的是7.2版本 + 7.3版本,官网说7.3不兼容,暂时没有发现,保险起见,还是7.2版本吧
-
测试是否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/samplessudo make -C 1_Utilities/deviceQuery
/usr/local/cuda/samples/bin/x86_64/darwin/release/deviceQuery
-
安装pip来下载tensorflow
sudo easy_install pip
sudo easy_install --upgrade six
-
通过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
-
使用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
-
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
-
查看安装位置
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的过程比较慢,主要的原因是:
- brew, pip,官网下载,各种下载时间比较长,等的比较心焦
- 系统版本的问题,更新OSX 10.12 后,出现QtKit被更改,然后找不到的问题,系统环境进行了一些更新,重装了下系统降级到OSX 10.11
==========
安装tensorfow 官方有很多的方法,但是成功的比较少. 我的安装过程是:
- 先安装Anaconda Python,
- 然后@高山 使用Pip安装成功了CPU only的tensorflow,然后我也选择了Pip 安装,但是pip 安装到了最后一步的时候出现了失败问题,问题4
- [install-tensorflow-on-mac-os-10.11] (http://vinhdq.blogspot.com/2015/12/installing-tensorflow-on-mac-os-1011.html)
参考引用:
安装caffe的教程如下,有些组件的安装可以参考:
遇到的问题:
- brew下载好慢,使用brew 镜像加速
- pip 下载好慢,使用镜像加速
- xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance #569
- Cannot remove entries from nonexistent
- Unable to execute example: models/image/mnist/convolutional.py on MacOS