tensorflow for GPU build from source

深度学习主机环境配置:

Ubuntu16.04+Nvidia GTX 1080Ti+CUDA9.0+cuDNN7.0.3+nvidia driver 384

1.安装Ubuntu16.04,安装完毕后Ubuntu

16.04的分辨率很低.

更新:

sudo apt-get upgrade

2.查看gcc版本号

gcc-v

目前的cuda8.0已支持gcc

5.4版本了。

2.安装GTX1080驱动

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

sudo apt-get install nvidia-367

sudo apt-getinstall mesa-common-dev

sudo apt-get install freeglut3-dev

以上方法是目前最为稳定的简单的显卡驱动安装方法,之后重启系统让GTX1080显卡驱动生效。

3.下载和安装CUDA

下载的“cuda_8.0.61_linux.run”有1.45G,按照Nivdia官方给出的方法安装CUDA8:

sudo sh cuda_8.0.27_linux.run --tmpdir=/opt/temp/

提示中:Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

答案必须是n,否则之前安装的GTX1080驱动就白费了,而且问题多多。

安装完毕后,再声明一下环境变量,并将其写入到~/.bashrc的尾部:

在home处按下ctrl+h显示隐藏文件,然后编辑bashrc文件,添加一下两行到最后。

export PATH=/usr/local/cuda-8.0/bin\${PATH:+:\${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}

然后source ~/.bashrc更新文件。

最后再来测试一下CUDA,运行:

nvidia-smi

nvcc-V

因为我们不是从官网的run文件安装的驱动,我们要手动将将驱动路径加入到环境变量LIBRARY_PATH中,I

have nvidia-367 driver and I didn't install the driver from the run

file. Would you please help me how I can fix this?

Analternative is to set LIBRARY_PATH to include /use/lib/nvidia-*/like:

$ LIBRARY_PATH=/usr/lib/nvidia-你的版本号:$LIBRARY_PATH make

测试cuda8.0是否安装成功,NVIDIA_CUDA-8.0_Samples安装目录下,运行以上的make命令。

大约十分钟后,显示bulidfinished

$cd ./NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release/

$./deviceQuery

提示如下错误:

zyl@zyl-PC:/usr/local/cuda/samples/1_Utilities/deviceQuery$ ./deviceQuery./deviceQuery Starting...CUDA Device Query (Runtime API) version (CUDART static linking)modprobe: ERROR: could not insert 'nvidia_340_uvm': Invalid argumentcudaGetDeviceCount returned 30-> unknown errorResult = FAIL

尝试解决:sudo reboot

安装cudnn5.1

csdn上下载,CSDN提供了下载地址:http://download.csdn.net/download/hearthougan/9889201。注册一个帐号送3分,免费下载资源。下载Cudnnv5.1,进入下载目录,执行下列命令:

tar xvzf cudnn-8.0-Linux-x64-v5.1.tgz

解压完成。

添加头文件和库文件

sudo cp include/cudnn.h /usr/local/include

sudo cp lib64/libcudnn.* /usr/local/lib

添加系统环境变量:/etc/profile文件中,

$sudo gedit /etc/profile,文件末尾加上一行保存:export PATH = /usr/local/cuda/bin:$PATH

创建链接文件:sudo gedit /etc/ld.so.conf.d/cuda.conf,文件中加上一行保存:/usr/local/cuda/lib64

$sudo gedit /etc/profile

在最后添加export PATH = /usr/local/cuda/bin:$PATH

$cd /usr/local/cuda/lib64/

$ rm -rf libcudnn.so libcudnn.so.5    #删除原有动态文件sudo mv $sudo/usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org

$sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org

$sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1

$sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5  #生成软衔接

sudo ln -s libcudnn.so.5 libcudnn.so      #生成软链接

安装tensorflow

安装bazel

由于本教程使用tensorflow源码编译/安装,所以需要使用bazel

build。链接:https://www.bazel.io/versions/master/docs/install.html


安装第三方库

$ sudo apt-get install python-numpy swig python-dev python-wheel

$sudo apt-get install gitgit clone git://github.com/numpy/numpy.git numpy

下载tensorflow

在terminal中输入以下命令

git clone https://github.com/tensorflow/tensorflow

默认下载目录是在/home下

在terminal中输入以下命令:

cd ~/tensorflow #切换到tensorflow文件夹

./configure #执行configure文件

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

bazel build -c opt --config=cuda//tensorflow/tools/pip_package:build_pip_package

bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

cd /tmp/tensorflow_pkg

ls#显示了生成的wheel

sudo pip install 上面生成的wheel文件


设置环境

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package# To build with GPU support:

bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

mkdir _python_build

cd _python_build

ln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .

ln -s ../tensorflow/tools/pip_package/* .python setup.py develop

最后建议$

sudo apt-get install python-pip

用pip安装jupyter

notebook以及其它的安装包

完美运行,可复制。

以上仅作参考。

你可能感兴趣的:(tensorflow for GPU build from source)