目录
CUDA早已推出9.2甚至10.0, 官方发布的编译好之后的TensorFlow却仍然只支持CUDA 9.0。要想让TensorFlow支持CUDA 10.0, 需要自行从源代码编译。编译过程中有诸多坑,权且记录在此。
平台和版本
64位CentOS 7.6,内核版本3.10,CUDA 10.0, cuDNN 7.5, python 3.6,gcc 4.8。要注意的版本如下:
- numpy: 1.14.5:不能比这个版本高,否则后续编译TensorFlow时会报错,提示版本号要 ≤ \leq ≤ 1.14.5. 安装方法 :pip3 install numpy==1.14.5;
- bazel: 0.18:高于这个版本后续编译会报错:cannot find cudnn.h;
- TensorFlow: 1.10:高于该版本,后续编译会报错,具体啥错忘记了;
今天又在Ubuntu 18.04.2,内核4.18,gcc 7.3下面按本文所述流程安装了一遍,除去最后的编译过程中内存被撑爆进入纯文本模式重新进行编译之外(笔记本配置差,伤不起),全程都非常顺利。另外,相比较CentOS,感觉Ubuntu还有一个坑就是很多时候编译过程就可能需要访问只有root权限才能访问的库,故而建议条件允许的话在Ubuntu下以root身份进行编译。
特别感谢
安装过程中除了TensorFlow,CUDA,cuDNN, TensorRT等官方手册或官网外,还从如下网页中获益匪浅,对此深表谢意。