目录

Tensorflow-GPU安装过程

创建日期 星期三 01 五月 2019

1.安装CUDA和显卡驱动


注意:Linux系统默认安装、加载的是开源显卡驱动-nouveau

a.查看计算机的显卡是否支持CUDA套件

b.去NVIDIA官网上下载CUDA9.2 run(local)文件

c.安装CUDA9.2(同时安装NVIDIA显卡驱动程序)

1. 开机时对启动选项进行修改:按 "e" linux一行添加 nouveau.modeset=0 init 3(不使用nouveau开源显卡驱动,进入完全多用户模式)


2. 进入终端模式,lsmod 会提示已经加载nouveau驱动,再rmmod nouveau进行卸载


3. 使用''sudo ./cuda_9.2_linux.run --no-opengl-libs''命令安装cuda(安装完成后,可以使用nvidia-smi进行nvidia显卡驱动的测试)

注意:如果nvidia-smi 提示:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA drivMake sure that the latest NVIDIA driver is installed and running.这是因为NVIDIA驱动没有被加载使用。


4.将新安装的cuda-9.2可执行文件、库路径加入系统变量和库路径中;(`nvcc -V`命令检验CUDA套件是否安装正确)。


5.下载适用于CUDA9.2版本的cuDNN,并解压,将相关文件复制到对应的CUDA安装目录下。


6.重启系统,操作系统会重新加载nouveau驱动程序,类似第一步添加nouveau.modeset=0,操作系统则会记载、使用NVIDIA显卡驱动,此时nvidia-smi 正常显示出显卡的信息;

注意:安装CUDA显卡驱动时,会在/etc/modprobe.d/目录下自动生成nvidia-installer-disable-nouveau.conf文件来禁用nouveau驱动程序。但有时会出现禁用后仍然加载nouveau驱动程序,此时使用```sudo update-initramfs -u```命令重新生成 kernel initramfs即可。

2.安装Tensorflow-gpu


从源码编译

安装Bzeal编译工具:先下载bazel可执行脚本(本文中使用的文件名是bazel-0.15.0-installer-linux-x86_64.sh)。然后在可执行脚本文件目录下用 `./bazel-0.15.0-installer-linux-x8664.sh  --user`命令进行安装。

下载tensorflow源文件,进入源文件目录。

执行`./configure`命令,按需求进行配置。

执行```bazel build --jobs=4 --config=opt //tensorflow/tools/pip_package:build_pip_package```命令编译pip包,其中的`--job`选项会限制bazel编译时的任务数,一般不需要指明该选项,bazel会调用计算机的所有资源进行编译。但是计算量很大,容易导致死机,所以可以添加上任务数的限制来防止这种情况。

注意:编译过程中可能会提示编译错误,编译停止。忽略错误,重新继续编译。(错误一般是编译器内部错误、电脑卡死,这一般是内存不够导致的,linux添加swapfile可以有效解决;某个文件未被创建、有价值,多线程编译使得相互依赖的编译结果不同步生成导致这个错误)

执行`bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg`命令在/tmp/tensorflow_pkg目录下生成whl python安装包,最后执行`pip3 install XXX.whl`命令完成安装即可。

Reference:http://www.python36.com/how-to-install-tensorflow-gpu-with-cuda-9-2-for-python-on-ubuntu/

使用conda安装(!!!不适用!!!)

conda install tensorflow-gpu

创建python 3.6 环境

conda create -n tf python=3.6 

conda activate tf 

再进行安装就没有问题了 

conda install tensorflow-gpu

tensorflow还不支持python3.7(2018-01)

conda create -n python=3.6

conda install --use-local your-pkg-name