本文讲记录我在使用Tensorflow
时遇到的种种坑,方便大家踏平这些坑。说实话,我现在有点相信曾经听说过的一位程序员大神说过的一段话:
大型的开源软件都有一个特点,就是 clone 下来永远不能按官方的文档编译出来。
我要事先声明,我是并不懂深度学习
的原理的,那些复杂的公式我根本看不懂。但是我很确信我能够把相关的软件配置起来,这可能是源于一个工程师的自信。尽管我有自信这么说,但我还是得承认,Tensorflow 还是一个比较讨厌的软件。
搭建平台
我在两个硬件平台上编译了带 GPU 支持的 Tensorflow,即 CUDA 模块
。CUDA是英伟达的显卡技术,在 Tensorflow 里可以有效的加速神经网络的学习过程,如果您的电脑配备有 N卡 那我推荐您像我一样,编译 GPU 支持。
硬件平台1
显卡:GTX 660
操作系统: Mac OS X 10.11 El Captain
硬件平台2
显卡:GTX 960M
操作系统: Ubuntu 16.04 Xenial Xerus
要注意的是 CUDA 的计算性能在不同的硬件之间差距是很大的,详细信息可以在 英伟达 官网看到。以我的经验来看,960M 是要远远好于 660 的。
编译过程
网上有大量的资料,包括 Tensorflow 的官方文档都有 GPU 支持的编译帮助,在这里我就不重复了。我在这里列出一些我参考的资料。
Mac 和 Ubuntu 的编译方式大致是相同的,Mac安装软件更加友好,cuda toolkit
是一个pkg
文件,直接双击安装就好。
下面开始列举遇到的种种问题:
Mac - libcudart.8.0.dylib
这个错误是在 Mac 上编译的时候遇到的最坑人的问题,GitHub 上有很好的解决方案:
网友评论