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上删了又装很多次,其他就是无限循环登录问题、系统分辨率太小、网卡驱动不对、触摸板无响应等。下面会讲述遇到这些问题解决方法:
由于是新笔记本,下面讲述安装步骤:
- 安装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-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 updatesudo 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
- Ubuntu14.04+GTX1080+Cuda8+Cudnn7.0+Tensorflow
- ubuntu14.04+GTX1080 部署tensorflow+cuda8.0
- ubuntu14.04+cuda8.0(gtx1080)下tensorflow的安装
- GTX1080+ubuntu14.04+cuda8.0+cudnn5.1+tensorflow
- ubuntu14.04 cuda8.0 GTX1080 环境搭建
- GTX1080+ ubuntu14.04+cuda8.0 配置安装
- Ubuntu14.04+CUDA8.0+GTX1080+MatlabR2015b
- Ubuntu14.04 + GTX1080 + CUDA8.0 +Caffe
- ubuntu14.04+cuda8.0+GTX1080配制方法
- Ubuntu14.04+CUDA8.0+GTX1080+caffe
- Ubuntu14.04 cuda8.0 GTX97或GTX1080
- ubuntu14.04+GTX1080+cuda8.0+cudnn5.1+源码编译tensorflow安装教程
- ubuntu16.04 64位安装tensorflow+cuda8.0+cudnn7.0
- ubuntu14.04+cuda8.0(GTX1080)+caffe安装
- 亲测详解ubuntu14.04+cuda8.0+gtx1080+caffe
- Ubuntu14.04+CUDA8.0+GTX1080+caffe配置教程
- ubuntu14.04+cuda8.0(GTX1080)+caffe安装
- ubuntu14.04+tensorflow+cuda8.0
- 【第1142期】Git提交历史的修改删除合并等实践
- cannot resolve symbol Controller
- Android锁屏勒索病毒分析(2)免流服务器
- K-means对中国足球进行定位
- 程序员必读书单总结
- Ubuntu14.04+GTX1080+Cuda8+Cudnn7.0+Tensorflow
- RxJava+Retrofit+Mvp 购物车
- 3-1 顺序表创建和就地逆置(10 分)
- 点击按钮 按钮缩放动画:
- 做机械臂导航时遇到的问题6:实现ROS串口通信的其他方式
- 真相 | 两个前端大神给我的启示
- 关于HttpClient模拟浏览器请求的参数乱码问题解决方案
- 第15周项目4
- 使用Venom绕过AV控制目标