8>人生苦短,我也Python。
此时此刻我的mac正在编译这Tensorflow的源码,console的窗口中不断的跳跃着warning,我一步一步按照东拼西凑的教程完成了源码的编译,希望编译成功,同时也希望待我安装完成之后能够正常的运行TF。
0.硬件配置
首先你的电脑必须有一块Nvidia的显卡,其次你要在linux或mac系统下进行下面的操作。如果你使用的是window的系统或是A卡用户,那么你可以洗洗睡了。或是直接使用官网的Python安装包就可以了。以下操作只适合喜欢折腾并且能够禁得住折腾的用户。作为一个macbook重度依赖用户,几乎日常所有的编码实验都在MacBook上面折腾,我说下我的本子配置:
Model Name: MacBook Pro (Retina, Mid 2012)
Model Identifier: MacBookPro10,1
Processor Name: Intel Core i7
Processor Speed: 2.7 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Memory: 8 GB
OS Version: macOS Sierra, 10.12.1
Graphics Cards:
Intel HD Graphics 4000
NVIDIA GeForce GT 650M
庆幸还有NVIDIA的显卡,只不过是老掉牙的硬件了。就连计算能力也只有可怜的3.0,只符合TensorFlow的基本要求。不过没有关系,咬咬牙还能跑。
**不幸的消息是刚刚CPU版本的编译成功了,但是在编译GPU的时候,苦苦等了快一个小时,然后爆出了错误。到Github上一搜,在issue里面,得出的结果是这是CUDA的一个错误,文章的最后我会贴出常见的错误和解决方法。
1.安装CUDA开发环境
这里说的CUDA开发环境包括driver和cudnn两个东西,其中driver可以从官网下载的Tookit安装包安装,而cudnn则需要自己下载后手动放到cuda的文件夹中。
1.1 CUDA
-> 安装CUDA8.0
-> 安装cuDNN5.1
-> 你的GPU的计算能力需要至少3.0[查看详细]
- 在NVIDIA的官网上按照Toolkit的步骤来下载相应系统的版本,然后安装。在Macbook上,安装之后你的硬盘中会多出两个文件夹来。分别是
/usr/local/cuda
和/Developer/NVIDIA/
两个文件夹。其中一个
以上提出的是目前最优要求,如果是你的环境和硬件不满足的话,那么你需要通过源码自己编译
1.2 cuDNN
终极大法
如果你按照官网给出的各种方式(无论是从wheel安装,还是从source code安装,都出现不同程度的错误,主要是GPU版本怎么弄也不行)还是出错的话,那么你可以尝试下面的方法:
Warning: 下面的方法将会关闭你的Macbook的安全选项,使得程序能够以root的权限运行,如果不放心可以略过。
终结大法介绍:
- 关闭系统的SIP:
->重启mac
->command+R组合键进入Recovery模式
->打开Terminal,键入csrutil disable
命令关闭系统的SIP
->重启 - 在
.bash_profile
中添加下面的cuda的配置
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/extras/CUPTI/lib
export LD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
export PATH=$DYLD_LIBRARY_PATH:$PATH