Tensorflow 历险记

Tensorflow
Dec 12, 2016
4min

本文讲记录我在使用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 支持的编译帮助,在这里我就不重复了。我在这里列出一些我参考的资料。

教你从头到尾利用DL学梵高作画

Tensorflow 官方文档

Mac 和 Ubuntu 的编译方式大致是相同的,Mac安装软件更加友好,cuda toolkit是一个pkg文件,直接双击安装就好。

下面开始列举遇到的种种问题:

Mac - libcudart.8.0.dylib

这个错误是在 Mac 上编译的时候遇到的最坑人的问题,GitHub 上有很好的解决方案:

GitHub