Ubuntu14.04+GTX1080+Cuda8+Cudnn7.0+Tensorflow

Tensorflow安装

下面讲述如何在Ubuntu14.04上安装Tensorflow,需求如下:

软件&系统 |  版本 |

---------------- | ------------------|

Ubuntu(64位)  |   14.04.5 |

内核                   |   4.4.0 |

GTX1080          |    驱动384.98 |

Java                   |   8 |

Bazel                 |   0.7.0以上 |

Cuda                 |   8.0.61_375.26 |

GCC                  |   4.9  |

Tensorflow        |  master(/92233820e) |


选用的笔记本位MSI GT73EVR 7RF,1TB,16GB RAM,GTX1080。

在安装Tensorflow遇到坑还是比较少的,主要在Tensorflow上删了又装很多次,其他就是无限循环登录问题、系统分辨率太小、网卡驱动不对、触摸板无响应等。下面会讲述遇到这些问题解决方法:

由于是新笔记本,下面讲述安装步骤:

 * 安装Ubuntu 14.04.5镜像,给MSI安装双系统,保留原windows。会遇到系统分辨率问题

 * 安装GTX1080驱动,会遇到无限循环登录问题

 * 安装cuda 8.0

 * 安装cudnn 7

 * 安装无线网卡驱动

 * 安装java 8

 * 安装bazel,Tensorflow依赖

 * 安装Tensorflow

 * 配置完成,测试

安装Ubuntu双系统

制成启动U盘

首先使用Windows系统,上官网找到Ubuntu 14.04.5系统镜像,下载

ubuntu-14.04.5-desktop-amd64.iso

下载完成后,使用Ultraiso安装镜像到U盘,制成启动U盘。教程不再讲述。

可以参考百度经验

安装双系统

讲启动U盘插入MSI电脑,开机,在出现MSI标志后,按下“Delete”进入BISO“,切换到BOOT,将U盘选项置顶,随后进入安全控制,

将安全控制选为”disable“,安全控制将影响GTX1080驱动,GTX1080驱动涉及到内核操作,如果开启安全控制将会导致Ubuntu登录界面无限循环问题。

保存退出后,在开机界面按下”F11“,选择U盘进行安装Ubuntu。

最好是有网线连接下进行安装,会避免一些驱动问题。

安装完成后,进入Ubuntu系统分辨率非常低,这是由于GTX1080显卡驱动问题,安装完显卡驱动,分辨率就正常了

安装GTX1080驱动

进入英伟达官网,下载GTX1080驱动,开始搜索,然后下载所需版本即可。我下载的是最新的384.98。


也可以在这里下载。

下载完成后,保存,作为备用用于刷新新驱动。

添加NVIDIA源

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

出现信息不用考虑,直接按回车即可。


sudo apt-get update   

sudo apt-get install nvidia-384  

sudo apt-get install mesa-common-dev   

sudo apt-get install freeglut3-dev  

禁用nouveau

按Ctrl+Alt+F1进入命令提示符,新建一个黑名单文件:

sudo vi /etc/modprobe.d/blacklist-nouveau.conf    

输入

blacklist nouveau    

options nouveau modset=0    

保存,退出

然后,执行

sudo update-initramfs -u    

检查

lspci | grep nouveau    

如果没有输出,就代表正常。

安装显卡驱动

注意:在接下来安装Cuda8的过程中,也会安装显卡驱动,询问时输入“N”,选择不安装。

关闭桌面程序,如果不关闭,将无法完成安装:

sudo service lightdm stop   

切换到上面下载好的目录下:

sudo chmod 755 NVIDIA-Linux-x86_64-384.98.run  //获取权限    

sudo ./NVIDIA-Linux-x86_64-384.98.run  //安装驱动   

如果没有报错(warn不算)就代表安装完成。这里安装的时候没有截屏,就不在讲述步骤。

在安装过程中,会提到是否关闭BISO中的安全控制,因为在之前就关闭了,所以不用管。如果不关闭将会进入无限登录。

然后重启即可。

输入

nvidia-smi   

验证是否安装成功。

安装cuda 8.0

安装Cuda问题不大,进入下载列表,选择CUDA Toolkit 8.0 GA2,下载即可。大小未1.4G

cd ~/Download/  

sudo chmod +x cuda_8.0.61_375.26_linux.run  

sudo sh cuda_8.0.61_375.26_linux.run   

全部都选择默认,一路回车即可。

安装完成后,添加路径:

vi ~/.bashrc  

在最后输入

export PATH=/usr/local/cuda:${PATH}  

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}  

保存退出。

安装cudnn 7

进入cudnn下载,首先需要注册一下,然后

下载完成后,解压,会得到cuda目录,

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

$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64  

$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*  

完成cudnn安装。

安装无线网卡驱动

直接运行以下命令即可,网卡型号为QCA6174。原有不可用,需要重新安装。

sudo mkdir -p /lib/firmware/ath10k/QCA6174/hw3.0/  

sudo rm /lib/firmware/ath10k/QCA6174/hw3.0/* 2> /dev/null  

sudo wget -O /lib/firmware/ath10k/QCA6174/hw3.0/board.bin https://github.com/FireWalkerX/ath10k-firmware/blob/7e56cbb94182a2fdab110cf5bfeded8fd1d44d30/QCA6174/hw3.0/board-2.bin?raw=true  

sudo wget -O /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin https://github.com/FireWalkerX/ath10k-firmware/blob/7e56cbb94182a2fdab110cf5bfeded8fd1d44d30/QCA6174/hw3.0/firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1?raw=true  

sudo chmod +x /lib/firmware/ath10k/QCA6174/hw3.0/*  

重启即可


安装java 8

java8不作为重点,直接使用源安装

添加ppa

sudo add-apt-repository ppa:webupd8team/java  


sudo apt-get update

sudo apt-get install oracle-java8-installer

随后运行以下命令检查  

java -version

安装bazel

bazel安装直接用源安装

添加bazel源

$ echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list

$ curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add -

安装

sudo apt-get update && sudo apt-get install bazel

安装Tensorflow

其他版本都试过,现在选择源码编译;

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

git checkout master

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

sh tensorflow/tools/ci_build/install/install_bazel.sh

sudo sh tensorflow/tools/ci_build/install/install_bazel.sh

bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu

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/* .

sudo python setup.py develop

vi test.py #添加测试文件

在新打开的文件中输入:

import tensorflow as tf

hello = tf.constant('Hello, TensorFlow!')

sess = tf.Session()

print(sess.run(hello))

运行:

python test.py

如果一切正常,将会有如下输出:

2017-12-17 15:27:18.614891: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:895] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero

2017-12-17 15:27:18.615173: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] Found device 0 with properties:

name: GeForce GTX 1080 major: 6 minor: 1 memoryClockRate(GHz): 1.771

pciBusID: 0000:01:00.0

totalMemory: 7.92GiB freeMemory: 7.47GiB

2017-12-17 15:27:18.615188: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0, compute capability: 6.1)

Hello, TensorFlow!

至此,安装完成

编译Tensorflow时的版本:https://github.com/tensorflow/tensorflow/commit/92233820e6256ffb428650e67dc8c6dc4bbc7074

你可能感兴趣的:(Ubuntu14.04+GTX1080+Cuda8+Cudnn7.0+Tensorflow)