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

来源:互联网 发布:淘宝卖家寄屎 编辑:程序博客网 时间:2024/05/22 16:49

Tensorflow安装

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

软件&系统版本Ubuntu(64位)14.04.5内核4.4.0GTX1080 驱动384.98Java8Bazel0.7.0以上Cuda8.0.61_375.26GCC4.9Tensorflowmaster(/92233820e)选用的笔记本位MSI GT73EVR 7RF,1TB,16GB RAM,GTX1080。

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

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

  1. 安装Ubuntu 14.04.5镜像,给MSI安装双系统,保留原windows。会遇到系统分辨率问题
  2. 安装GTX1080驱动,会遇到无限循环登录问题
  3. 安装cuda 8.0
  4. 安装cudnn 7
  5. 安装无线网卡驱动
  6. 安装java 8
  7. 安装bazel,Tensorflow依赖
  8. 安装Tensorflow
  9. 配置完成,测试

安装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-384sudo 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.runsudo 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/nullsudo 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=truesudo 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=truesudo chmod +x /lib/firmware/ath10k/QCA6174/hw3.0/*

重启即可

安装java 8

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

添加ppa

sudo add-apt-repository ppa:webupd8team/javasudo 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/tensoflowgit checkout master bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package sh tensorflow/tools/ci_build/install/install_bazel.shsudo sh tensorflow/tools/ci_build/install/install_bazel.shbazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainerbazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpumkdir _python_buildcd _python_buildln -s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .ln -s ../tensorflow/tools/pip_package/* .sudo python setup.py developvi test.py #添加测试文件
在新打开的文件中输入:

import tensorflow as tfhello = 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 zero2017-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.771pciBusID: 0000:01:00.0totalMemory: 7.92GiB freeMemory: 7.47GiB2017-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

原创粉丝点击