ubuntu16.04 + tensorflow1.14 + C
写在前面
先上一张tensorflow版本与CUDA版本的对应表:
tensorflow版本与cuda版本对照图
GPU版本的tensorflow在1.13.0版本就已经需要CUDA10才能安装了,所以1.14版本也需要CUDA 10以上的版本。本次安装我使用了CUDA的10.1版本。
CUDA安装
下载地址:https://developer.nvidia.com/cuda-toolkit-archive
选择runfile (local) 版本进行下载。不要选择deb版,里面没有携带NVIDIA驱动,会在线下载,非常慢。
下载完毕后需要先卸载老驱动(没有就忽略),详见这篇文章:https://blog.csdn.net/zhang970187013/article/details/81012845
卸载后关闭Ubuntu的GUI界面,这一步最好用手机拍下来,后面会直接进入命令行模式:
sudo service lightdm stop
stop后按ctrl+alt+F1进入命令行模式,之后执行:
sudo sh cuda_10.1.105_418.39_linux.run
安装完毕后执行命令回到GUI界面
sudo service lightdm start
tensorflow pip安装(可能不好使)
直接通过pip安装GPU版本的tensorflow:
pip install tensorflow-gpu==1.14.0
如果下载的慢,可以把pip安装源换成国内的,或者这样执行:
pip install tensorflow-gpu=1.13.1 -i http://mirrors.aliyun.com/pypi/simple/
国内的安装源:
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
tensorflow源码安装
如果简单无脑的pip安装不成功,或者安装后无法使用GPU加速,那还是老老实实源码安装吧
安装依赖组件
安装前先用pip安装tensorflow依赖的组件:
pip install six numpy wheel setuptools mock future>=0.17.1
pip install keras_applications==1.0.6 --no-deps
pip install keras_preprocessing==1.0.5 --no-deps
下载tensorflow源码
可以到tensorflow的github主页下载:https://github.com/tensorflow/tensorflow.git
也可以直接clone代码后切换到对应分支:
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout branch_name # r1.9, r1.10, etc.
下载完毕后,执行下列语句配置编译选项:
./configure
需要注意的是,如果你有多个CUDA版本,要在配置时指定其目录。
编译pip软件包
前提需要安装bazel,bazel版本见文章最开始的版本号。我们目的是构建支持GPU的tensorflow:
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
这条命令的目的是生成可编译whl文件的软件包编译器,需执行以下指令在/tmp/tensorflow_pkg目录生成whl文件:
./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
最后使用pip安装生成的whl文件,就可以完成GPU版本的tensorflow的安装:
pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl